fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / arch / ppc / syslib / m8xx_wdt.c
index df6c955..fffac8c 100644 (file)
@@ -21,7 +21,7 @@
 static int wdt_timeout;
 int m8xx_has_internal_rtc = 0;
 
-static irqreturn_t m8xx_wdt_interrupt(int, void *, struct pt_regs *);
+static irqreturn_t m8xx_wdt_interrupt(int, void *);
 static struct irqaction m8xx_wdt_irqaction = {
        .handler = m8xx_wdt_interrupt,
        .name = "watchdog",
@@ -35,14 +35,13 @@ void m8xx_wdt_reset(void)
        out_be16(&imap->im_siu_conf.sc_swsr, 0xaa39);   /* write magic2 */
 }
 
-static irqreturn_t m8xx_wdt_interrupt(int irq, void *dev, struct pt_regs *regs)
+static irqreturn_t m8xx_wdt_interrupt(int irq, void *dev)
 {
        volatile immap_t *imap = (volatile immap_t *)IMAP_ADDR;
 
        m8xx_wdt_reset();
 
-       out_be16(&imap->im_sit.sit_piscr, in_be16(&imap->im_sit.sit_piscr) | PISCR_PS); /* clear irq */
-
+       setbits16(&imap->im_sit.sit_piscr, PISCR_PS);
        return IRQ_HANDLED;
 }