]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/mips/sgi-ip22/ip22-int.c
Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-omap-h63xx.git] / arch / mips / sgi-ip22 / ip22-int.c
index b454924aeb56c2f897b96c2cacfeefc643b9fca9..f6d9bf4b26e7fdcda9cc336f83a5e87a5f10e2c5 100644 (file)
 #include <asm/mipsregs.h>
 #include <asm/addrspace.h>
 #include <asm/irq_cpu.h>
-
 #include <asm/sgi/ioc.h>
 #include <asm/sgi/hpc3.h>
 #include <asm/sgi/ip22.h>
+#include <asm/time.h>
 
 /* #define DEBUG_SGINT */
 
@@ -204,7 +204,6 @@ static struct irqaction map1_cascade = {
 #define SGI_INTERRUPTS SGINT_LOCAL3
 #endif
 
-extern void indy_r4k_timer_interrupt(void);
 extern void indy_8254timer_irq(void);
 
 /*
@@ -237,13 +236,13 @@ extern void indy_8254timer_irq(void);
 
 asmlinkage void plat_irq_dispatch(void)
 {
-       unsigned int pending = read_c0_cause();
+       unsigned int pending = read_c0_status() & read_c0_cause();
 
        /*
         * First we check for r4k counter/timer IRQ.
         */
        if (pending & CAUSEF_IP7)
-               indy_r4k_timer_interrupt();
+               do_IRQ(SGI_TIMER_IRQ);
        else if (pending & CAUSEF_IP2)
                indy_local0_irqdispatch();
        else if (pending & CAUSEF_IP3)
@@ -345,6 +344,6 @@ void __init arch_init_irq(void)
 
 #ifdef CONFIG_EISA
        if (ip22_is_fullhouse())        /* Only Indigo-2 has EISA stuff */
-               ip22_eisa_init ();
+               ip22_eisa_init();
 #endif
 }