fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / arch / ppc / syslib / todc_time.c
index 1dc7e0b..a8168b8 100644 (file)
@@ -1,6 +1,4 @@
 /*
- * arch/ppc/syslib/todc_time.c
- *
  * Time of Day Clock support for the M48T35, M48T37, M48T59, and MC146818
  * Real Time Clocks/Timekeepers.
  *
@@ -18,6 +16,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 +47,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 +79,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 +285,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 +321,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 +418,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 +433,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: