aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/boards/mpc1211/rtc.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh/boards/mpc1211/rtc.c')
-rw-r--r--arch/sh/boards/mpc1211/rtc.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/arch/sh/boards/mpc1211/rtc.c b/arch/sh/boards/mpc1211/rtc.c
index 76aab46e59a0..8ae2dc11d8e5 100644
--- a/arch/sh/boards/mpc1211/rtc.c
+++ b/arch/sh/boards/mpc1211/rtc.c
@@ -34,18 +34,21 @@ unsigned long get_cmos_time(void)
34 year = CMOS_READ(RTC_YEAR); 34 year = CMOS_READ(RTC_YEAR);
35 } while (sec != CMOS_READ(RTC_SECONDS)); 35 } while (sec != CMOS_READ(RTC_SECONDS));
36 36
37 if (!(CMOS_READ(RTC_CONTROL) & RTC_DM_BINARY) || RTC_ALWAYS_BCD) 37 if (!(CMOS_READ(RTC_CONTROL) & RTC_DM_BINARY) || RTC_ALWAYS_BCD) {
38 { 38 BCD_TO_BIN(sec);
39 BCD_TO_BIN(sec); 39 BCD_TO_BIN(min);
40 BCD_TO_BIN(min); 40 BCD_TO_BIN(hour);
41 BCD_TO_BIN(hour); 41 BCD_TO_BIN(day);
42 BCD_TO_BIN(day); 42 BCD_TO_BIN(mon);
43 BCD_TO_BIN(mon); 43 BCD_TO_BIN(year);
44 BCD_TO_BIN(year); 44 }
45 } 45
46 spin_unlock(&rtc_lock); 46 spin_unlock(&rtc_lock);
47 if ((year += 1900) < 1970) 47
48 year += 1900;
49 if (year < 1970)
48 year += 100; 50 year += 100;
51
49 return mktime(year, mon, day, hour, min, sec); 52 return mktime(year, mon, day, hour, min, sec);
50} 53}
51 54