watchdog: davinci: add support for deferred probing
authorTero Kristo <t-kristo@ti.com>
Thu, 24 Nov 2016 12:58:28 +0000 (14:58 +0200)
committerGuenter Roeck <linux@roeck-us.net>
Fri, 16 Dec 2016 14:53:53 +0000 (06:53 -0800)
devm_clk_get can fail with EPROBE_DEFER in case the clock provider is
not ready yet. Handle this case gracefully, rather than dumping out
a huge warning.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/watchdog/davinci_wdt.c

index 17454ca..0e731d7 100644 (file)
@@ -166,8 +166,12 @@ static int davinci_wdt_probe(struct platform_device *pdev)
                return -ENOMEM;
 
        davinci_wdt->clk = devm_clk_get(dev, NULL);
-       if (WARN_ON(IS_ERR(davinci_wdt->clk)))
+
+       if (IS_ERR(davinci_wdt->clk)) {
+               if (PTR_ERR(davinci_wdt->clk) != -EPROBE_DEFER)
+                       dev_err(&pdev->dev, "failed to get clock node\n");
                return PTR_ERR(davinci_wdt->clk);
+       }
 
        clk_prepare_enable(davinci_wdt->clk);