[PATCH] [3/5] Add warning when RTC clock reports binary

From: Andi Kleen
Date: Sat Feb 09 2008 - 10:17:42 EST



We tend to assume the RTC clock is BCD, so print a warning
if it claims to be binary.

Signed-off-by: Andi Kleen <ak@xxxxxxx>

Index: linux/arch/x86/kernel/rtc.c
===================================================================
--- linux.orig/arch/x86/kernel/rtc.c
+++ linux/arch/x86/kernel/rtc.c
@@ -94,6 +94,8 @@ int mach_set_rtc_mmss(unsigned long nowt

unsigned long mach_get_cmos_time(void)
{
+ unsigned status;
+ static int warned;
unsigned int year, mon, day, hour, min, sec, century = 0;

/*
@@ -119,7 +121,13 @@ unsigned long mach_get_cmos_time(void)
century = CMOS_READ(acpi_gbl_FADT.century);
#endif

- if (RTC_ALWAYS_BCD || !(CMOS_READ(RTC_CONTROL) & RTC_DM_BINARY)) {
+ status = CMOS_READ(RTC_CONTROL);
+ if (RTC_ALWAYS_BCD && (status & RTC_DM_BINARY) && !warned) {
+ printk(KERN_INFO "RTC clock reports binary. Ignored\n");
+ warned = 1;
+ }
+
+ if (RTC_ALWAYS_BCD || !(status & RTC_DM_BINARY)) {
BCD_TO_BIN(sec);
BCD_TO_BIN(min);
BCD_TO_BIN(hour);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/