diff options
author | Dan Williams <dan.j.williams@intel.com> | 2006-12-14 23:31:20 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-12-19 19:48:53 +0000 |
commit | 3a2aeda86d9af50510b370cb01bc38aef213a36d (patch) | |
tree | 34c84fa3d950048e1874f852ed534219a77686b7 /arch/arm/mach-iop13xx/irq.c | |
parent | 0f7d667ba341337b77b31ce81be04b16b3964cf6 (diff) | |
download | linux-3a2aeda86d9af50510b370cb01bc38aef213a36d.tar.gz linux-3a2aeda86d9af50510b370cb01bc38aef213a36d.tar.bz2 linux-3a2aeda86d9af50510b370cb01bc38aef213a36d.zip |
[ARM] 4022/1: iop13xx: generic irq fixups
* use irq_chip
* use handle_level_irq
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-iop13xx/irq.c')
-rw-r--r-- | arch/arm/mach-iop13xx/irq.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/arch/arm/mach-iop13xx/irq.c b/arch/arm/mach-iop13xx/irq.c index c4d9c8c5579c..dbbc07c38b14 100644 --- a/arch/arm/mach-iop13xx/irq.c +++ b/arch/arm/mach-iop13xx/irq.c @@ -222,25 +222,29 @@ iop13xx_irq_unmask3(unsigned int irq) iop13xx_cp6_restore(cp_flags); } -static struct irqchip iop13xx_irqchip0 = { +static struct irq_chip iop13xx_irqchip1 = { + .name = "IOP13xx-1", .ack = iop13xx_irq_mask0, .mask = iop13xx_irq_mask0, .unmask = iop13xx_irq_unmask0, }; -static struct irqchip iop13xx_irqchip1 = { +static struct irq_chip iop13xx_irqchip2 = { + .name = "IOP13xx-2", .ack = iop13xx_irq_mask1, .mask = iop13xx_irq_mask1, .unmask = iop13xx_irq_unmask1, }; -static struct irqchip iop13xx_irqchip2 = { +static struct irq_chip iop13xx_irqchip3 = { + .name = "IOP13xx-3", .ack = iop13xx_irq_mask2, .mask = iop13xx_irq_mask2, .unmask = iop13xx_irq_unmask2, }; -static struct irqchip iop13xx_irqchip3 = { +static struct irq_chip iop13xx_irqchip4 = { + .name = "IOP13xx-4", .ack = iop13xx_irq_mask3, .mask = iop13xx_irq_mask3, .unmask = iop13xx_irq_unmask3, @@ -270,15 +274,15 @@ void __init iop13xx_init_irq(void) for(i = 0; i < NR_IOP13XX_IRQS; i++) { if (i < 32) - set_irq_chip(i, &iop13xx_irqchip0); - else if (i < 64) set_irq_chip(i, &iop13xx_irqchip1); - else if (i < 96) + else if (i < 64) set_irq_chip(i, &iop13xx_irqchip2); - else + else if (i < 96) set_irq_chip(i, &iop13xx_irqchip3); + else + set_irq_chip(i, &iop13xx_irqchip4); - set_irq_handler(i, do_level_IRQ); + set_irq_handler(i, handle_level_irq); set_irq_flags(i, IRQF_VALID | IRQF_PROBE); } |