dmaengine: dma-jz4780: Return error if not probed from DT
authorPaul Cercueil <paul@crapouillou.net>
Wed, 29 Aug 2018 21:32:44 +0000 (23:32 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 Nov 2018 19:16:53 +0000 (11:16 -0800)
[ Upstream commit 54f919a04cf221bc1601d1193682d4379dacacbd ]

The driver calls clk_get() with the clock name set to NULL, which means
that the driver could only work when probed from devicetree. From now
on, we explicitly require the driver to be probed from devicetree.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Tested-by: Mathieu Malaterre <malat@debian.org>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/dma/dma-jz4780.c

index 7373b7a555ec3224fa896376b913631e1cefd75a..803cfb4523b08b4aef2fe4b77d5f3090e93b63b3 100644 (file)
@@ -754,6 +754,11 @@ static int jz4780_dma_probe(struct platform_device *pdev)
        struct resource *res;
        int i, ret;
 
+       if (!dev->of_node) {
+               dev_err(dev, "This driver must be probed from devicetree\n");
+               return -EINVAL;
+       }
+
        jzdma = devm_kzalloc(dev, sizeof(*jzdma), GFP_KERNEL);
        if (!jzdma)
                return -ENOMEM;