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 7373b7a..803cfb4 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;