Thread (91 messages) 91 messages, 15 authors, 2023-11-13

Re: [PATCH v3 22/42] dma: cirrus: add DT support for Cirrus EP93xx

From: Andy Shevchenko <andy@kernel.org>
Date: 2023-07-21 16:26:58
Also in: alsa-devel, dmaengine, linux-clk, linux-devicetree, linux-gpio, linux-ide, linux-input, linux-pm, linux-pwm, linux-rtc, linux-spi, linux-watchdog, lkml

On Thu, Jul 20, 2023 at 02:29:22PM +0300, Nikita Shubin via B4 Relay wrote:
From: Nikita Shubin <nikita.shubin@maquefel.me>

- drop subsys_initcall code
- add OF ID match table with data
- add of_probe for device tree
...
+#include <linux/of_device.h>
Why?

...
+#ifdef CONFIG_OF
Why this ugly ifdeffery?

...
+	data = of_device_get_match_data(&pdev->dev);
device_get_match_data()
+	if (!data)
+		return ERR_PTR(dev_err_probe(&pdev->dev, -ENODEV, "No device match found\n"));
...
+	edma = devm_kzalloc(&pdev->dev,
+					  struct_size(edma, channels, data->num_channels),
+				      GFP_KERNEL);
Something wrong with indentation. Not the first time, please check all your
patches for this kind of issues.
+		return ERR_PTR(-ENOMEM);
...
+		edmac->regs = devm_platform_ioremap_resource(pdev, i);
No check?
+		edmac->irq = platform_get_irq(pdev, i);
No check?
+		edmac->edma = edma;
+
+		edmac->clk = of_clk_get(np, i);
+
Redundant blank line.

Why one of devm_clk_get*() can't be called?
+		if (IS_ERR(edmac->clk)) {
+			dev_warn(&pdev->dev, "failed to get clock\n");
+			continue;
+		}
...
+	if (platform_get_device_id(pdev))
+		edma = ep93xx_init_from_pdata(pdev);
+	else
+		edma = ep93xx_dma_of_probe(pdev);
+
Unneeded blank line.
+	if (!edma)
+		return PTR_ERR(edma);
...
quoted hunk ↗ jump to hunk
--- a/include/linux/platform_data/dma-ep93xx.h
+++ b/include/linux/platform_data/dma-ep93xx.h
 #include <linux/types.h>
 #include <linux/dmaengine.h>
 #include <linux/dma-mapping.h>
+#include <linux/of.h>
property.h.

...
+	if (of_device_is_compatible(dev_of_node(chan->device->dev), "cirrus,ep9301-dma-m2p"))
+		return true;
+
device_is_compatible()

-- 
With Best Regards,
Andy Shevchenko

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help