* [PATCH] driver/rtc/rtc-s3c: Fix driver clock enable/disable balance issues
@ 2011-11-08 10:14 jhbird.choi
2011-11-21 10:50 ` Kukjin Kim
0 siblings, 1 reply; 2+ messages in thread
From: jhbird.choi @ 2011-11-08 10:14 UTC (permalink / raw)
To: rtc-linux, linux-kernel; +Cc: Alessandro Zummo, Kukjin Kim, Jonghwan Choi
From: Jonghwan Choi <jhbird.choi@samsung.com>
If an error occurs after clock is enabled, it can become unbalanced.
Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com>
---
drivers/rtc/rtc-s3c.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
index 7639ab9..5b979d9 100644
--- a/drivers/rtc/rtc-s3c.c
+++ b/drivers/rtc/rtc-s3c.c
@@ -202,7 +202,6 @@ static int s3c_rtc_settime(struct device *dev, struct rtc_time *tm)
void __iomem *base = s3c_rtc_base;
int year = tm->tm_year - 100;
- clk_enable(rtc_clk);
pr_debug("set time %04d.%02d.%02d %02d:%02d:%02d\n",
1900 + tm->tm_year, tm->tm_mon, tm->tm_mday,
tm->tm_hour, tm->tm_min, tm->tm_sec);
@@ -214,6 +213,7 @@ static int s3c_rtc_settime(struct device *dev, struct rtc_time *tm)
return -EINVAL;
}
+ clk_enable(rtc_clk);
writeb(bin2bcd(tm->tm_sec), base + S3C2410_RTCSEC);
writeb(bin2bcd(tm->tm_min), base + S3C2410_RTCMIN);
writeb(bin2bcd(tm->tm_hour), base + S3C2410_RTCHOUR);
--
1.7.1
^ permalink raw reply related [flat|nested] 2+ messages in thread* RE: [PATCH] driver/rtc/rtc-s3c: Fix driver clock enable/disable balance issues
2011-11-08 10:14 [PATCH] driver/rtc/rtc-s3c: Fix driver clock enable/disable balance issues jhbird.choi
@ 2011-11-21 10:50 ` Kukjin Kim
0 siblings, 0 replies; 2+ messages in thread
From: Kukjin Kim @ 2011-11-21 10:50 UTC (permalink / raw)
To: jhbird.choi, rtc-linux, linux-kernel; +Cc: 'Alessandro Zummo', akpm
jhbird.choi@samsung.com wrote:
>
> From: Jonghwan Choi <jhbird.choi@samsung.com>
>
> If an error occurs after clock is enabled, it can become unbalanced.
>
> Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com>
Cc: stable@kernel.org
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
(Cc'ed Andrew Morton)
Hi Andrew,
If you're ok with this, could you please pick this up in your tree?
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
> ---
> drivers/rtc/rtc-s3c.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
> index 7639ab9..5b979d9 100644
> --- a/drivers/rtc/rtc-s3c.c
> +++ b/drivers/rtc/rtc-s3c.c
> @@ -202,7 +202,6 @@ static int s3c_rtc_settime(struct device *dev, struct
rtc_time
> *tm)
> void __iomem *base = s3c_rtc_base;
> int year = tm->tm_year - 100;
>
> - clk_enable(rtc_clk);
> pr_debug("set time %04d.%02d.%02d %02d:%02d:%02d\n",
> 1900 + tm->tm_year, tm->tm_mon, tm->tm_mday,
> tm->tm_hour, tm->tm_min, tm->tm_sec);
> @@ -214,6 +213,7 @@ static int s3c_rtc_settime(struct device *dev, struct
rtc_time
> *tm)
> return -EINVAL;
> }
>
> + clk_enable(rtc_clk);
> writeb(bin2bcd(tm->tm_sec), base + S3C2410_RTCSEC);
> writeb(bin2bcd(tm->tm_min), base + S3C2410_RTCMIN);
> writeb(bin2bcd(tm->tm_hour), base + S3C2410_RTCHOUR);
> --
> 1.7.1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-11-21 10:50 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-08 10:14 [PATCH] driver/rtc/rtc-s3c: Fix driver clock enable/disable balance issues jhbird.choi
2011-11-21 10:50 ` Kukjin Kim
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox