Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
[sfrench/cifs-2.6.git] / arch / mips / qemu / q-irq.c
index 3352374c4c7d2ed9bd2e21249fe8276b4ef8c445..4681757460a118e50192772b4218cb8407e1bbb0 100644 (file)
@@ -2,26 +2,25 @@
 #include <linux/linkage.h>
 
 #include <asm/i8259.h>
+#include <asm/irq_cpu.h>
 #include <asm/mipsregs.h>
 #include <asm/qemu.h>
 #include <asm/system.h>
 #include <asm/time.h>
 
-extern asmlinkage void qemu_handle_int(void);
-
-asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
+asmlinkage void plat_irq_dispatch(void)
 {
        unsigned int pending = read_c0_status() & read_c0_cause();
 
        if (pending & 0x8000) {
-               ll_timer_interrupt(Q_COUNT_COMPARE_IRQ, regs);
+               do_IRQ(Q_COUNT_COMPARE_IRQ);
                return;
        }
        if (pending & 0x0400) {
                int irq = i8259_irq();
 
                if (likely(irq >= 0))
-                       do_IRQ(irq, regs);
+                       do_IRQ(irq);
 
                return;
        }
@@ -31,6 +30,7 @@ void __init arch_init_irq(void)
 {
        mips_hpt_frequency = QEMU_C0_COUNTER_CLOCK;             /* 100MHz */
 
+       mips_cpu_irq_init();
        init_i8259_irqs();
        set_c0_status(0x8400);
 }