]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/mach-footbridge/isa-irq.c
Merge branch 'pxa-all' into devel
[linux-2.6-omap-h63xx.git] / arch / arm / mach-footbridge / isa-irq.c
index 87448c2d6baa192fb621047ee47d1b0e3e1133d4..54fec9ae28b949b36a17c79de56f9b558f118ee6 100644 (file)
 #include <linux/interrupt.h>
 #include <linux/list.h>
 #include <linux/init.h>
+#include <linux/io.h>
 
 #include <asm/mach/irq.h>
 
-#include <asm/hardware.h>
+#include <mach/hardware.h>
 #include <asm/hardware/dec21285.h>
 #include <asm/irq.h>
-#include <asm/io.h>
 #include <asm/mach-types.h>
 
 static void isa_mask_pic_lo_irq(unsigned int irq)
@@ -49,7 +49,7 @@ static void isa_unmask_pic_lo_irq(unsigned int irq)
        outb(inb(PIC_MASK_LO) & ~mask, PIC_MASK_LO);
 }
 
-static struct irqchip isa_lo_chip = {
+static struct irq_chip isa_lo_chip = {
        .ack    = isa_ack_pic_lo_irq,
        .mask   = isa_mask_pic_lo_irq,
        .unmask = isa_unmask_pic_lo_irq,
@@ -78,24 +78,23 @@ static void isa_unmask_pic_hi_irq(unsigned int irq)
        outb(inb(PIC_MASK_HI) & ~mask, PIC_MASK_HI);
 }
 
-static struct irqchip isa_hi_chip = {
+static struct irq_chip isa_hi_chip = {
        .ack    = isa_ack_pic_hi_irq,
        .mask   = isa_mask_pic_hi_irq,
        .unmask = isa_unmask_pic_hi_irq,
 };
 
 static void
-isa_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs)
+isa_irq_handler(unsigned int irq, struct irq_desc *desc)
 {
        unsigned int isa_irq = *(unsigned char *)PCIIACK_BASE;
 
        if (isa_irq < _ISA_IRQ(0) || isa_irq >= _ISA_IRQ(16)) {
-               do_bad_IRQ(isa_irq, desc, regs);
+               do_bad_IRQ(isa_irq, desc);
                return;
        }
 
-       desc = irq_desc + isa_irq;
-       desc_handle_irq(isa_irq, desc, regs);
+       generic_handle_irq(isa_irq);
 }
 
 static struct irqaction irq_cascade = {
@@ -150,13 +149,13 @@ void __init isa_init_irq(unsigned int host_irq)
        if (host_irq != (unsigned int)-1) {
                for (irq = _ISA_IRQ(0); irq < _ISA_IRQ(8); irq++) {
                        set_irq_chip(irq, &isa_lo_chip);
-                       set_irq_handler(irq, do_level_IRQ);
+                       set_irq_handler(irq, handle_level_irq);
                        set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
                }
 
                for (irq = _ISA_IRQ(8); irq < _ISA_IRQ(16); irq++) {
                        set_irq_chip(irq, &isa_hi_chip);
-                       set_irq_handler(irq, do_level_IRQ);
+                       set_irq_handler(irq, handle_level_irq);
                        set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
                }