aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/ppc/platforms/chrp_time.c22
-rw-r--r--arch/sh/boards/mpc1211/rtc.c23
2 files changed, 25 insertions, 20 deletions
diff --git a/arch/ppc/platforms/chrp_time.c b/arch/ppc/platforms/chrp_time.c
index e103a36e11a5..51e06ad66168 100644
--- a/arch/ppc/platforms/chrp_time.c
+++ b/arch/ppc/platforms/chrp_time.c
@@ -129,16 +129,18 @@ unsigned long chrp_get_rtc_time(void)
129 year = chrp_cmos_clock_read(RTC_YEAR); 129 year = chrp_cmos_clock_read(RTC_YEAR);
130 } while (sec != chrp_cmos_clock_read(RTC_SECONDS)); 130 } while (sec != chrp_cmos_clock_read(RTC_SECONDS));
131 131
132 if (!(chrp_cmos_clock_read(RTC_CONTROL) & RTC_DM_BINARY) || RTC_ALWAYS_BCD) 132 if (!(chrp_cmos_clock_read(RTC_CONTROL) & RTC_DM_BINARY)
133 { 133 || RTC_ALWAYS_BCD) {
134 BCD_TO_BIN(sec); 134 BCD_TO_BIN(sec);
135 BCD_TO_BIN(min); 135 BCD_TO_BIN(min);
136 BCD_TO_BIN(hour); 136 BCD_TO_BIN(hour);
137 BCD_TO_BIN(day); 137 BCD_TO_BIN(day);
138 BCD_TO_BIN(mon); 138 BCD_TO_BIN(mon);
139 BCD_TO_BIN(year); 139 BCD_TO_BIN(year);
140 } 140 }
141 if ((year += 1900) < 1970) 141
142 year += 1900;
143 if (year < 1970)
142 year += 100; 144 year += 100;
143 return mktime(year, mon, day, hour, min, sec); 145 return mktime(year, mon, day, hour, min, sec);
144} 146}
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