diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/ppc/platforms/chrp_time.c | 22 | ||||
-rw-r--r-- | arch/sh/boards/mpc1211/rtc.c | 23 |
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 | ||