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

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
drivers/watchdog/sp805_wdt.c

index 8872642..58df98a 100644 (file)
@@ -231,7 +231,7 @@ sp805_wdt_probe(struct amba_device *adev, const struct amba_id *id)
                goto err;
        }
 
-       wdt->clk = clk_get(&adev->dev, NULL);
+       wdt->clk = devm_clk_get(&adev->dev, NULL);
        if (IS_ERR(wdt->clk)) {
                dev_warn(&adev->dev, "Clock not found\n");
                ret = PTR_ERR(wdt->clk);
@@ -251,15 +251,13 @@ sp805_wdt_probe(struct amba_device *adev, const struct amba_id *id)
        if (ret) {
                dev_err(&adev->dev, "watchdog_register_device() failed: %d\n",
                                ret);
-               goto err_register;
+               goto err;
        }
        amba_set_drvdata(adev, wdt);
 
        dev_info(&adev->dev, "registration successful\n");
        return 0;
 
-err_register:
-       clk_put(wdt->clk);
 err:
        dev_err(&adev->dev, "Probe Failed!!!\n");
        return ret;
@@ -272,7 +270,6 @@ static int sp805_wdt_remove(struct amba_device *adev)
        watchdog_unregister_device(&wdt->wdd);
        amba_set_drvdata(adev, NULL);
        watchdog_set_drvdata(&wdt->wdd, NULL);
-       clk_put(wdt->clk);
 
        return 0;
 }