From: Stefan Wahren <stefan.wah...@i2se.com>

Nowadays there is a generic property for dma-channel-mask in the DMA
controller binding. So prefer this one instead of the old vendor specific
one. Print a warning in case the old one is used. Btw use the result of
of_property_read_u32() as return code in error case.

Signed-off-by: Stefan Wahren <wahre...@gmx.net>
Signed-off-by: Dave Stevenson <dave.steven...@raspberrypi.com>
---
 drivers/dma/bcm2835-dma.c | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c
index 9d74fe97452e..528c4593b45a 100644
--- a/drivers/dma/bcm2835-dma.c
+++ b/drivers/dma/bcm2835-dma.c
@@ -941,12 +941,19 @@ static int bcm2835_dma_probe(struct platform_device *pdev)
        }
 
        /* Request DMA channel mask from device tree */
-       if (of_property_read_u32(pdev->dev.of_node,
-                       "brcm,dma-channel-mask",
-                       &chans_available)) {
-               dev_err(&pdev->dev, "Failed to get channel mask\n");
-               rc = -EINVAL;
-               goto err_no_dma;
+       rc = of_property_read_u32(pdev->dev.of_node, "dma-channel-mask",
+                                 &chans_available);
+
+       if (rc) {
+               /* Try deprecated property */
+               if (of_property_read_u32(pdev->dev.of_node,
+                                        "brcm,dma-channel-mask",
+                                        &chans_available)) {
+                       dev_err(&pdev->dev, "Failed to get channel mask\n");
+                       goto err_no_dma;
+               }
+
+               dev_warn(&pdev->dev, "brcm,dma-channel-mask deprecated - please 
update DT\n");
        }
 
        /* get irqs for each channel that we support */
-- 
2.34.1

Reply via email to