]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/m32r/kernel/irq.c
Merge branch 'generic-ipi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-omap-h63xx.git] / arch / m32r / kernel / irq.c
index a4634b06f67554ffeb3f9c84f33bb213ca493b7b..d0c5b0b7da2f0f571fa8e37c44b5f1a41ac5f363 100644 (file)
@@ -54,7 +54,7 @@ int show_interrupts(struct seq_file *p, void *v)
                for_each_online_cpu(j)
                        seq_printf(p, "%10u ", kstat_cpu(j).irqs[i]);
 #endif
-               seq_printf(p, " %14s", irq_desc[i].handler->typename);
+               seq_printf(p, " %14s", irq_desc[i].chip->typename);
                seq_printf(p, "  %s", action->name);
 
                for (action=action->next; action; action = action->next)
@@ -71,19 +71,22 @@ skip:
 }
 
 /*
- * do_IRQ handles all normal device IRQ's (the special
+ * do_IRQ handles all normal device IRQs (the special
  * SMP cross-CPU interrupts have their own specific
  * handlers).
  */
 asmlinkage unsigned int do_IRQ(int irq, struct pt_regs *regs)
 {
+       struct pt_regs *old_regs;
+       old_regs = set_irq_regs(regs);
        irq_enter();
 
 #ifdef CONFIG_DEBUG_STACKOVERFLOW
        /* FIXME M32R */
 #endif
-       __do_IRQ(irq, regs);
+       __do_IRQ(irq);
        irq_exit();
+       set_irq_regs(old_regs);
 
        return 1;
 }