[ARM] 3702/1: ARM: Convert ixp23xx to generic irq handling
authorThomas Gleixner <tglx@linutronix.de>
Sat, 1 Jul 2006 21:32:42 +0000 (22:32 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 1 Jul 2006 21:32:42 +0000 (22:32 +0100)
Patch from Thomas Gleixner

From: Thomas Gleixner <tglx@linutronix.de>

Fixup the conversion to generic irq subsystem.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-ixp23xx/core.c
arch/arm/mach-ixp23xx/ixdp2351.c

index 82ad6ef90a38551c38bfb4ebb07fb2db6f3fe9be..7c218aecf4434bb5d9ab00884985c75b3637177f 100644 (file)
@@ -271,7 +271,7 @@ static void pci_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *
        }
 
        int_desc = irq_desc + irqno;
-       int_desc->handle(irqno, int_desc, regs);
+       desc_handle_irq(irqno, int_desc, regs);
 
        desc->chip->unmask(irq);
 }
index bba9d9f086919d3ca19da42df4fa0827efebc14d..37a32e6bcca2d1e52cb88128f091cd5858efdc57 100644 (file)
@@ -19,6 +19,7 @@
 #include <linux/spinlock.h>
 #include <linux/sched.h>
 #include <linux/interrupt.h>
+#include <linux/irq.h>
 #include <linux/serial.h>
 #include <linux/tty.h>
 #include <linux/bitops.h>
@@ -36,7 +37,6 @@
 #include <asm/memory.h>
 #include <asm/hardware.h>
 #include <asm/mach-types.h>
-#include <asm/irq.h>
 #include <asm/system.h>
 #include <asm/tlbflush.h>
 #include <asm/pgtable.h>
@@ -74,7 +74,7 @@ static void ixdp2351_inta_handler(unsigned int irq, struct irqdesc *desc, struct
                        int cpld_irq =
                                IXP23XX_MACH_IRQ(IXDP2351_INTA_IRQ_BASE + i);
                        cpld_desc = irq_desc + cpld_irq;
-                       cpld_desc->handle(cpld_irq, cpld_desc, regs);
+                       desc_handle_irq(cpld_irq, cpld_desc, regs);
                }
        }
 
@@ -111,7 +111,7 @@ static void ixdp2351_intb_handler(unsigned int irq, struct irqdesc *desc, struct
                        int cpld_irq =
                                IXP23XX_MACH_IRQ(IXDP2351_INTB_IRQ_BASE + i);
                        cpld_desc = irq_desc + cpld_irq;
-                       cpld_desc->handle(cpld_irq, cpld_desc, regs);
+                       desc_handle_irq(cpld_irq, cpld_desc, regs);
                }
        }
 
@@ -158,8 +158,8 @@ void ixdp2351_init_irq(void)
                }
        }
 
-       set_irq_chained_handler(IRQ_IXP23XX_INTA, &ixdp2351_inta_handler);
-       set_irq_chained_handler(IRQ_IXP23XX_INTB, &ixdp2351_intb_handler);
+       set_irq_chained_handler(IRQ_IXP23XX_INTA, ixdp2351_inta_handler);
+       set_irq_chained_handler(IRQ_IXP23XX_INTB, ixdp2351_intb_handler);
 }
 
 /*