]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/watchdog/davinci_wdt.c
Merge tag 'iio-fixes-for-4.17a' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux.git] / drivers / watchdog / davinci_wdt.c
index 3e4c592c239f5a7701beafaa939d3d4d438ba9e8..6c6594261cb70095410d051d93966f84cd7e0d0a 100644 (file)
@@ -236,15 +236,22 @@ static int davinci_wdt_probe(struct platform_device *pdev)
 
        wdt_mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        davinci_wdt->base = devm_ioremap_resource(dev, wdt_mem);
-       if (IS_ERR(davinci_wdt->base))
-               return PTR_ERR(davinci_wdt->base);
+       if (IS_ERR(davinci_wdt->base)) {
+               ret = PTR_ERR(davinci_wdt->base);
+               goto err_clk_disable;
+       }
 
        ret = watchdog_register_device(wdd);
-       if (ret < 0) {
-               clk_disable_unprepare(davinci_wdt->clk);
+       if (ret) {
                dev_err(dev, "cannot register watchdog device\n");
+               goto err_clk_disable;
        }
 
+       return 0;
+
+err_clk_disable:
+       clk_disable_unprepare(davinci_wdt->clk);
+
        return ret;
 }