Ben Dooks wrote: > > On 07/09/10 06:29, Kukjin Kim wrote: > > From: Changhwan Youn <chaos.youn@xxxxxxxxxxx> > > > > This patch changes RTC initialization method on probe() as > > per Wan ZongShun's suggestion. The 'rtc_valid_tm(tm)' can > > check whether RTC BCD is valid or not. > > > > And should be changed the method of check because previous > > method cannot validate RTC BCD registers properly. > > > > Signed-off-by: Changhwan Youn <chaos.youn@xxxxxxxxxxx> > > Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> > > Cc: Ben Dooks <ben-linux@xxxxxxxxx> > > Cc: Wan ZongShun <mcuos.com@xxxxxxxxx> > > --- > > drivers/rtc/rtc-s3c.c | 16 +++++++++++----- > > 1 files changed, 11 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c > > index c078548..7f15073 100644 > > --- a/drivers/rtc/rtc-s3c.c > > +++ b/drivers/rtc/rtc-s3c.c > > @@ -458,8 +458,8 @@ static int __devexit s3c_rtc_remove(struct > platform_device *dev) > > static int __devinit s3c_rtc_probe(struct platform_device *pdev) > > { > > struct rtc_device *rtc; > > + struct rtc_time rtc_tm; > > struct resource *res; > > - unsigned int tmp, i; > > int ret; > > > > pr_debug("%s: probe=%p\n", __func__, pdev); > > @@ -540,11 +540,17 @@ static int __devinit s3c_rtc_probe(struct > platform_device *pdev) > > > > /* Check RTC Time */ > > > > - for (i = S3C2410_RTCSEC; i <= S3C2410_RTCYEAR; i += 0x4) { > > - tmp = readb(s3c_rtc_base + i); > > + s3c_rtc_gettime(NULL, &rtc_tm); > > > > - if ((tmp & 0xf) > 0x9 || ((tmp >> 4) & 0xf) > 0x9) > > - writeb(0, s3c_rtc_base + i); > > + if (rtc_valid_tm(&rtc_tm)) { > > + rtc_tm.tm_year = 100; > > + rtc_tm.tm_mon = 0; > > + rtc_tm.tm_mday = 1; > > + rtc_tm.tm_hour = 0; > > + rtc_tm.tm_min = 0; > > + rtc_tm.tm_sec = 0; > > + > > + s3c_rtc_settime(NULL, &rtc_tm); > > I think a dev_warn() in this path is good to alert the user > to bad things happening, esp if the system should have a valid > time, it marks he posibility the rtc battery has gone. Ok...will address comment from you. Thanks. Best regards, Kgene. -- Kukjin Kim <kgene.kim@xxxxxxxxxxx>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd. -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html