rtc: rtc-coh901331: use devm_clk_get()
authorJingoo Han <jg1.han@samsung.com>
Fri, 22 Feb 2013 00:45:38 +0000 (16:45 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 22 Feb 2013 01:22:30 +0000 (17:22 -0800)
Use devm_clk_get() to make cleanup paths more simple.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/rtc/rtc-coh901331.c

index c8115b8..2d28ec1 100644 (file)
@@ -157,7 +157,6 @@ static int __exit coh901331_remove(struct platform_device *pdev)
        if (rtap) {
                rtc_device_unregister(rtap->rtc);
                clk_unprepare(rtap->clk);
-               clk_put(rtap->clk);
                platform_set_drvdata(pdev, NULL);
        }
 
@@ -196,7 +195,7 @@ static int __init coh901331_probe(struct platform_device *pdev)
                             "RTC COH 901 331 Alarm", rtap))
                return -EIO;
 
-       rtap->clk = clk_get(&pdev->dev, NULL);
+       rtap->clk = devm_clk_get(&pdev->dev, NULL);
        if (IS_ERR(rtap->clk)) {
                ret = PTR_ERR(rtap->clk);
                dev_err(&pdev->dev, "could not get clock\n");
@@ -207,7 +206,7 @@ static int __init coh901331_probe(struct platform_device *pdev)
        ret = clk_prepare_enable(rtap->clk);
        if (ret) {
                dev_err(&pdev->dev, "could not enable clock\n");
-               goto out_no_clk_prepenable;
+               return ret;
        }
        clk_disable(rtap->clk);
 
@@ -224,8 +223,6 @@ static int __init coh901331_probe(struct platform_device *pdev)
  out_no_rtc:
        platform_set_drvdata(pdev, NULL);
        clk_unprepare(rtap->clk);
- out_no_clk_prepenable:
-       clk_put(rtap->clk);
        return ret;
 }