Re: [PATCH] rtc: rtc-s3c: use clk_prepare_enable and clk_disable_unprepare

From: Kukjin Kim
Date: Mon Apr 22 2013 - 13:10:44 EST


On 04/11/13 13:09, Jingoo Han wrote:
On Wednesday, April 10, 2013 6:50 PM, Sylwester Nawrocki wrote:
On 04/09/2013 04:27 PM, Vivek Gautam wrote:
From: Thomas Abraham<thomas.abraham@xxxxxxxxxx>

Convert clk_enable/clk_disable to clk_prepare_enable/clk_disable_unprepare
calls as required by common clock framework.

Signed-off-by: Thomas Abraham<thomas.abraham@xxxxxxxxxx>
Signed-off-by: Vivek Gautam<gautam.vivek@xxxxxxxxxxx>

Acked-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx>


Thanks Vivek.

Reviewed-by: Sylwester Nawrocki<s.nawrocki@xxxxxxxxxxx>

CC'ed Andrew Morton

It looks good.
Reviewed-by: Jingoo Han<jg1.han@xxxxxxxxxxx>


---

The v1 of this patch is pretty old, but the change needs to be merged to
avoid getting those needless WARN_ON() dumps on console.

Changes from v1:
- Not using clk_disable_unprepare() at the end of s3c_rtc_probe(), since
this will unprepare the rtc clock which is again getting used in other
funtions later.
- Using clk_unprepare() at the remove() instead to fix things up.

drivers/rtc/rtc-s3c.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
index fb994e9..e3528c9 100644
--- a/drivers/rtc/rtc-s3c.c
+++ b/drivers/rtc/rtc-s3c.c
@@ -430,6 +430,7 @@ static int s3c_rtc_remove(struct platform_device *dev)

s3c_rtc_setaie(&dev->dev, 0);

+ clk_unprepare(rtc_clk);
rtc_clk = NULL;

return 0;
@@ -498,7 +499,7 @@ static int s3c_rtc_probe(struct platform_device *pdev)
return ret;
}

- clk_enable(rtc_clk);
+ clk_prepare_enable(rtc_clk);

/* check to see if everything is setup correctly */

@@ -578,7 +579,7 @@ static int s3c_rtc_probe(struct platform_device *pdev)

err_nortc:
s3c_rtc_enable(pdev, 0);
- clk_disable(rtc_clk);
+ clk_disable_unprepare(rtc_clk);

return ret;
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/