[PATCH] powerpc/8xx: Fix m8xx_wdt issues
authorMarcelo Tosatti <marcelo.tosatti@cyclades.com>
Mon, 5 Dec 2005 21:31:36 +0000 (19:31 -0200)
committerPaul Mackerras <paulus@samba.org>
Mon, 9 Jan 2006 03:52:01 +0000 (14:52 +1100)
The following fixes some issues with the last mpc8xx_wdt update:

- Adds missing #include <asm/io.h>
- Use "uint __iomem" pointer for in_be32/out_be32

Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
drivers/char/watchdog/mpc8xx_wdt.c

index ac6fbac..b2fc71e 100644 (file)
@@ -18,6 +18,7 @@
 #include <linux/watchdog.h>
 #include <asm/8xx_immap.h>
 #include <asm/uaccess.h>
+#include <asm/io.h>
 #include <syslib/m8xx_wdt.h>
 
 static unsigned long wdt_opened;
@@ -25,24 +26,26 @@ static int wdt_status;
 
 static void mpc8xx_wdt_handler_disable(void)
 {
-       volatile immap_t *imap = (volatile immap_t *)IMAP_ADDR;
+       volatile uint __iomem *piscr;
+       piscr = (uint *)&((immap_t*)IMAP_ADDR)->im_sit.sit_piscr;
 
        if (!m8xx_has_internal_rtc)
                m8xx_wdt_stop_timer();
        else
-               out_be32(imap->im_sit.sit_piscr, in_be32(&imap->im_sit.sit_piscr) & ~(PISCR_PIE | PISCR_PTE));
+               out_be32(piscr, in_be32(piscr) & ~(PISCR_PIE | PISCR_PTE));
 
        printk(KERN_NOTICE "mpc8xx_wdt: keep-alive handler deactivated\n");
 }
 
 static void mpc8xx_wdt_handler_enable(void)
 {
-       volatile immap_t *imap = (volatile immap_t *)IMAP_ADDR;
+       volatile uint __iomem *piscr;
+       piscr = (uint *)&((immap_t*)IMAP_ADDR)->im_sit.sit_piscr;
 
        if (!m8xx_has_internal_rtc)
                m8xx_wdt_install_timer();
        else
-               out_be32(&imap->im_sit.sit_piscr, in_be32(&imap->im_sit.sit_piscr) | PISCR_PIE | PISCR_PTE);
+               out_be32(piscr, in_be32(piscr) | PISCR_PIE | PISCR_PTE);
 
        printk(KERN_NOTICE "mpc8xx_wdt: keep-alive handler activated\n");
 }