This patch drops the coreboot CMOS checksum ranges from Kconfig because
[coreboot.git] / src / pc80 / mc146818rtc.c
index 592a0a52f123c9041fa435c1271c201d4ad65945..1b39db21d11be39b84cd3bf74134056b6b600b5c 100644 (file)
@@ -95,6 +95,7 @@ static inline void cmos_write(unsigned char val, unsigned char addr)
        outb(val, RTC_BASE_PORT + offs + 1);
 }
 
+#if CONFIG_HAVE_OPTION_TABLE
 static int rtc_checksum_valid(int range_start, int range_end, int cks_loc)
 {
        int i;
@@ -120,23 +121,26 @@ static void rtc_set_checksum(int range_start, int range_end, int cks_loc)
        cmos_write(((sum >> 8) & 0x0ff), cks_loc);
        cmos_write(((sum >> 0) & 0x0ff), cks_loc+1);
 }
+#endif
 
+#if CONFIG_ARCH_X86
 #define RTC_CONTROL_DEFAULT (RTC_24H)
 #define RTC_FREQ_SELECT_DEFAULT (RTC_REF_CLCK_32KHZ | RTC_RATE_1024HZ)
-
-#if 0 /* alpha setup */
-#undef RTC_CONTROL_DEFAULT
-#undef RTC_FREQ_SELECT_DEFAULT
+#else
+#if CONFIG_ARCH_ALPHA
 #define RTC_CONTROL_DEFAULT (RTC_SQWE | RTC_24H)
 #define RTC_FREQ_SELECT_DEFAULT (RTC_REF_CLCK_32KHZ | RTC_RATE_1024HZ)
 #endif
+#endif
 
 void rtc_init(int invalid)
 {
+#if CONFIG_HAVE_OPTION_TABLE
        unsigned char x;
        int cmos_invalid, checksum_invalid;
+#endif
 
-       printk_debug("RTC Init\n");
+       printk(BIOS_DEBUG, "RTC Init\n");
 
 #if CONFIG_HAVE_OPTION_TABLE
        /* See if there has been a CMOS power problem. */
@@ -148,7 +152,7 @@ void rtc_init(int invalid)
                        PC_CKS_RANGE_END,PC_CKS_LOC);
 
        if (invalid || cmos_invalid || checksum_invalid) {
-               printk_warning("RTC:%s%s%s zeroing cmos\n",
+               printk(BIOS_WARNING, "RTC:%s%s%s zeroing cmos\n",
                        invalid?" Clear requested":"", 
                        cmos_invalid?" Power Problem":"",
                        checksum_invalid?" Checksum invalid":"");
@@ -181,10 +185,10 @@ void rtc_init(int invalid)
 
 #if CONFIG_HAVE_OPTION_TABLE
        /* See if there is a LB CMOS checksum error */
-       checksum_invalid = !rtc_checksum_valid(CONFIG_LB_CKS_RANGE_START,
-                       CONFIG_LB_CKS_RANGE_END,CONFIG_LB_CKS_LOC);
+       checksum_invalid = !rtc_checksum_valid(LB_CKS_RANGE_START,
+                       LB_CKS_RANGE_END,LB_CKS_LOC);
        if(checksum_invalid)
-               printk_debug("Invalid CMOS LB checksum\n");
+               printk(BIOS_DEBUG, "Invalid CMOS LB checksum\n");
 
        /* Make certain we have a valid checksum */
        rtc_set_checksum(PC_CKS_RANGE_START,
@@ -231,7 +235,7 @@ static int get_cmos_value(unsigned long bit, unsigned long length, void *vret)
        return 0;
 }
 
-int get_option(void *dest, char *name)
+int get_option(void *dest, const char *name)
 {
        extern struct cmos_option_table option_table;
        struct cmos_option_table *ct;
@@ -253,14 +257,14 @@ int get_option(void *dest, char *name)
                }
        }
        if(!found) {
-               printk_err("ERROR: No cmos option '%s'\n", name);
+               printk(BIOS_DEBUG, "WARNING: No cmos option '%s'\n", name);
                return(-2);
        }
        
        if(get_cmos_value(ce->bit, ce->length, dest))
                return(-3);
-       if(!rtc_checksum_valid(CONFIG_LB_CKS_RANGE_START,
-                       CONFIG_LB_CKS_RANGE_END,CONFIG_LB_CKS_LOC))
+       if(!rtc_checksum_valid(LB_CKS_RANGE_START,
+                       LB_CKS_RANGE_END,LB_CKS_LOC))
                return(-4);
        return(0);
 }