rtc: rtc-spear: Add clk_{un}prepare() support
authorDeepak Sikri <deepak.sikri@st.com>
Tue, 18 Dec 2012 00:02:32 +0000 (16:02 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 18 Dec 2012 01:15:20 +0000 (17:15 -0800)
clk_{un}prepare is mandatory for platforms using common clock framework.
Because for SPEAr we don't do anything in clk_{un}prepare() calls, just
call them once in probe/remove.

Signed-off-by: Deepak Sikri <deepak.sikri@st.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/rtc/rtc-spear.c

index 311a5274b5289bb03f32504f28b03de30ef0f7c6..c96f56cfc1d86ac0c9ac2491504128f196a21c49 100644 (file)
@@ -395,7 +395,7 @@ static int __devinit spear_rtc_probe(struct platform_device *pdev)
        if (IS_ERR(config->clk))
                return PTR_ERR(config->clk);
 
-       status = clk_enable(config->clk);
+       status = clk_prepare_enable(config->clk);
        if (status < 0)
                return status;
 
@@ -418,7 +418,7 @@ static int __devinit spear_rtc_probe(struct platform_device *pdev)
 
 err_disable_clock:
        platform_set_drvdata(pdev, NULL);
-       clk_disable(config->clk);
+       clk_disable_unprepare(config->clk);
 
        return status;
 }
@@ -429,7 +429,7 @@ static int __devexit spear_rtc_remove(struct platform_device *pdev)
 
        rtc_device_unregister(config->rtc);
        spear_rtc_disable_interrupt(config);
-       clk_disable(config->clk);
+       clk_disable_unprepare(config->clk);
        device_init_wakeup(&pdev->dev, 0);
 
        return 0;