linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / arch / ppc / syslib / todc_time.c
index 1dc7e0b..1323c64 100644 (file)
@@ -18,6 +18,7 @@
 #include <linux/time.h>
 #include <linux/timex.h>
 #include <linux/bcd.h>
+#include <linux/mc146818rtc.h>
 
 #include <asm/machdep.h>
 #include <asm/io.h>
@@ -48,8 +49,6 @@
  *                                             --MAG
  */
 
-extern spinlock_t      rtc_lock;
-
 /*
  * 'todc_info' should be initialized in your *_setup.c file to
  * point to a fully initialized 'todc_info_t' structure.
@@ -82,13 +81,13 @@ extern spinlock_t   rtc_lock;
 u_char
 todc_direct_read_val(int addr)
 {
-       return readb(todc_info->nvram_data + addr);
+       return readb((void __iomem *)(todc_info->nvram_data + addr));
 }
 
 void
 todc_direct_write_val(int addr, unsigned char val)
 {
-       writeb(val, todc_info->nvram_data + addr);
+       writeb(val, (void __iomem *)(todc_info->nvram_data + addr));
        return;
 }
 
@@ -288,6 +287,7 @@ todc_get_rtc_time(void)
                limit = 1;
 
                switch (todc_info->rtc_type) {
+                       case TODC_TYPE_DS1553:
                        case TODC_TYPE_DS1557:
                        case TODC_TYPE_DS1743:
                        case TODC_TYPE_DS1746:  /* XXXX BAD HACK -> FIX */
@@ -323,6 +323,7 @@ todc_get_rtc_time(void)
 
        if (todc_info->rtc_type != TODC_TYPE_MC146818) {
                switch (todc_info->rtc_type) {
+                       case TODC_TYPE_DS1553:
                        case TODC_TYPE_DS1557:
                        case TODC_TYPE_DS1743:
                        case TODC_TYPE_DS1746:  /* XXXX BAD HACK -> FIX */
@@ -419,6 +420,7 @@ static unsigned char __init todc_read_timereg(int addr)
        unsigned char save_control = 0, val;
 
        switch (todc_info->rtc_type) {
+               case TODC_TYPE_DS1553:
                case TODC_TYPE_DS1557:
                case TODC_TYPE_DS1746:  /* XXXX BAD HACK -> FIX */
                case TODC_TYPE_DS1747:
@@ -433,6 +435,7 @@ static unsigned char __init todc_read_timereg(int addr)
        val = todc_read_val(addr);
 
        switch (todc_info->rtc_type) {
+               case TODC_TYPE_DS1553:
                case TODC_TYPE_DS1557:
                case TODC_TYPE_DS1746:  /* XXXX BAD HACK -> FIX */
                case TODC_TYPE_DS1747: