watchdog: pnx4008_wdt: use devm_clk_get()
authorJingoo Han <jg1.han@samsung.com>
Mon, 29 Apr 2013 09:16:14 +0000 (18:16 +0900)
committerWim Van Sebroeck <wim@iguana.be>
Thu, 11 Jul 2013 19:01:53 +0000 (21:01 +0200)
Use devm_clk_get() to make cleanup paths more simple.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
drivers/watchdog/pnx4008_wdt.c

index a3684a3..b30bd43 100644 (file)
@@ -159,13 +159,13 @@ static int pnx4008_wdt_probe(struct platform_device *pdev)
        if (IS_ERR(wdt_base))
                return PTR_ERR(wdt_base);
 
-       wdt_clk = clk_get(&pdev->dev, NULL);
+       wdt_clk = devm_clk_get(&pdev->dev, NULL);
        if (IS_ERR(wdt_clk))
                return PTR_ERR(wdt_clk);
 
        ret = clk_enable(wdt_clk);
        if (ret)
-               goto out;
+               return ret;
 
        pnx4008_wdd.bootstatus = (readl(WDTIM_RES(wdt_base)) & WDOG_RESET) ?
                        WDIOF_CARDRESET : 0;
@@ -186,8 +186,6 @@ static int pnx4008_wdt_probe(struct platform_device *pdev)
 
 disable_clk:
        clk_disable(wdt_clk);
-out:
-       clk_put(wdt_clk);
        return ret;
 }
 
@@ -196,7 +194,6 @@ static int pnx4008_wdt_remove(struct platform_device *pdev)
        watchdog_unregister_device(&pnx4008_wdd);
 
        clk_disable(wdt_clk);
-       clk_put(wdt_clk);
 
        return 0;
 }