 return 0; 
static void s3c2410_rtc_gettime(struct rtc_time *rtc_tm){	unsigned int have_retried = 0; retry_get_time:	rtc_tm->tm_min  = readb(S3C2410_RTCMIN);	rtc_tm->tm_hour = readb(S3C2410_RTCHOUR);	rtc_tm->tm_mday = readb(S3C2410_RTCDATE);	rtc_tm->tm_mon  = readb(S3C2410_RTCMON);	rtc_tm->tm_year = readb(S3C2410_RTCYEAR);	rtc_tm->tm_sec  = readb(S3C2410_RTCSEC);	/* the only way to work out wether the system was mid-update	 * when we read it is to check the second counter, and if it	 * is zero, then we re-try the entire read	 */	if (rtc_tm->tm_sec == 0 && !have_retried) {		have_retried = 1;		goto retry_get_time;	}	pr_debug("read time %02x.%02x.%02x %02x/%02x/%02x\n",		 rtc_tm->tm_year, rtc_tm->tm_mon, rtc_tm->tm_mday,		 rtc_tm->tm_hour, rtc_tm->tm_min, rtc_tm->tm_sec);	BCD_TO_BIN(rtc_tm->tm_sec);	BCD_TO_BIN(rtc_tm->tm_min);	BCD_TO_BIN(rtc_tm->tm_hour);	BCD_TO_BIN(rtc_tm->tm_mday);	BCD_TO_BIN(rtc_tm->tm_mon);	BCD_TO_BIN(rtc_tm->tm_year);	rtc_tm->tm_year += 100;	rtc_tm->tm_mon -= 1;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/d5aa207e46ff7ee838683a7d95ecf46fe42a9a56/s3c2410-rtc.c/buggy/drivers/char/s3c2410-rtc.c