aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/rtc.c
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2008-02-09 10:17:01 -0500
committerIngo Molnar <mingo@elte.hu>2008-04-17 11:40:45 -0400
commit45de70791165ce7eac5232ed5a7c31152567f4da (patch)
tree3b9012f8e548fbb73af0cb0a02ff0e4e24ade23b /arch/x86/kernel/rtc.c
parent068c9222d0206e8a6a905efeb9f4fe8dde8b5ff5 (diff)
x86: enable ACPI extended century handling for 32bit
The extended century readout does not solve the year 2038 problem on 32bit! v2: Fix compilation on !ACPI, pointed out by tglx Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel/rtc.c')
-rw-r--r--arch/x86/kernel/rtc.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/x86/kernel/rtc.c b/arch/x86/kernel/rtc.c
index d4d8277e890e..91492190ac72 100644
--- a/arch/x86/kernel/rtc.c
+++ b/arch/x86/kernel/rtc.c
@@ -112,15 +112,14 @@ unsigned long mach_get_cmos_time(void)
112 mon = CMOS_READ(RTC_MONTH); 112 mon = CMOS_READ(RTC_MONTH);
113 year = CMOS_READ(RTC_YEAR); 113 year = CMOS_READ(RTC_YEAR);
114 114
115#if defined(CONFIG_ACPI) && defined(CONFIG_X86_64) 115#ifdef CONFIG_ACPI
116 /* CHECKME: Is this really 64bit only ??? */
117 if (acpi_gbl_FADT.header.revision >= FADT2_REVISION_ID && 116 if (acpi_gbl_FADT.header.revision >= FADT2_REVISION_ID &&
118 acpi_gbl_FADT.century) 117 acpi_gbl_FADT.century)
119 century = CMOS_READ(acpi_gbl_FADT.century); 118 century = CMOS_READ(acpi_gbl_FADT.century);
120#endif 119#endif
121 120
122 status = CMOS_READ(RTC_CONTROL); 121 status = CMOS_READ(RTC_CONTROL);
123 WARN_ON_ONCE((RTC_ALWAYS_BCD && (status & RTC_DM_BINARY)); 122 WARN_ON_ONCE(RTC_ALWAYS_BCD && (status & RTC_DM_BINARY));
124 123
125 if (RTC_ALWAYS_BCD || !(status & RTC_DM_BINARY)) { 124 if (RTC_ALWAYS_BCD || !(status & RTC_DM_BINARY)) {
126 BCD_TO_BIN(sec); 125 BCD_TO_BIN(sec);