All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] dma: of: Remove restriction that #dma-cells can't be 0
@ 2013-04-22  8:33 Lars-Peter Clausen
  2013-04-22  8:33 ` [PATCH 2/2] dma: of: Remove check on always true condition Lars-Peter Clausen
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Lars-Peter Clausen @ 2013-04-22  8:33 UTC (permalink / raw)
  To: Vinod Koul; +Cc: Arnd Bergmann, Jon Hunter, linux-kernel, Lars-Peter Clausen

There is no sensible reason why #dma-cells shouldn't be allowed to be 0. It is
completely up to the DMA controller how many additional parameters, besides the
phandle, it needs to identify a channel. E.g. for DMA controller with only one
channel or for DMA controllers which don't have a restriction on which channel
can be used for which peripheral it completely legitimate to not require any
additional parameters.

Also fixes the following warning:
	drivers/dma/of-dma.c: In function 'of_dma_controller_register':
	drivers/dma/of-dma.c:67:7: warning: 'nbcells' may be used uninitialized in this function

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
 drivers/dma/of-dma.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/dma/of-dma.c b/drivers/dma/of-dma.c
index 7aa0864..268cc8a 100644
--- a/drivers/dma/of-dma.c
+++ b/drivers/dma/of-dma.c
@@ -64,7 +64,6 @@ int of_dma_controller_register(struct device_node *np,
 				void *data)
 {
 	struct of_dma	*ofdma;
-	int		nbcells;
 	const __be32	*prop;
 
 	if (!np || !of_dma_xlate) {
@@ -77,18 +76,16 @@ int of_dma_controller_register(struct device_node *np,
 		return -ENOMEM;
 
 	prop = of_get_property(np, "#dma-cells", NULL);
-	if (prop)
-		nbcells = be32_to_cpup(prop);
-
-	if (!prop || !nbcells) {
-		pr_err("%s: #dma-cells property is missing or invalid\n",
+	if (!prop) {
+		pr_err("%s: #dma-cells property is missing\n",
 		       __func__);
 		kfree(ofdma);
 		return -EINVAL;
 	}
 
+
 	ofdma->of_node = np;
-	ofdma->of_dma_nbcells = nbcells;
+	ofdma->of_dma_nbcells = be32_to_cpup(prop);
 	ofdma->of_dma_xlate = of_dma_xlate;
 	ofdma->of_dma_data = data;
 
-- 
1.8.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2013-05-23 11:06 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-22  8:33 [PATCH 1/2] dma: of: Remove restriction that #dma-cells can't be 0 Lars-Peter Clausen
2013-04-22  8:33 ` [PATCH 2/2] dma: of: Remove check on always true condition Lars-Peter Clausen
2013-04-22 12:38   ` Arnd Bergmann
2013-04-22 20:52   ` Jon Hunter
2013-04-22 21:00     ` Lars-Peter Clausen
2013-04-22 22:13       ` Jon Hunter
2013-04-22 12:38 ` [PATCH 1/2] dma: of: Remove restriction that #dma-cells can't be 0 Arnd Bergmann
2013-04-22 12:47   ` Lars-Peter Clausen
2013-04-22 14:54     ` Arnd Bergmann
2013-05-23 10:30 ` Vinod Koul

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.