aboutsummaryrefslogtreecommitdiffstats
path: root/arch/alpha/kernel/irq_i8259.c
diff options
context:
space:
mode:
authorKyle McMartin <kyle@redhat.com>2010-10-14 22:31:34 -0400
committerMatt Turner <mattst88@monolith.freenet-rz.de>2011-01-16 23:42:13 -0500
commit7d209c8110ecd49db46da786437485e8ef67f414 (patch)
treebc550d6f1a7933a56194390255c5b836e41817a7 /arch/alpha/kernel/irq_i8259.c
parenta891b393dd7f6ed84ecee98c0eac4a808ff2cbbc (diff)
alpha: kill off alpha_do_IRQ
Good riddance... Nuke a pile of redundant handlers that the generic code takes care of as well. Tested-by: Michael Cree <mcree@orcon.net.nz> Signed-off-by: Kyle McMartin <kyle@redhat.com> Signed-off-by: Matt Turner <mattst88@gmail.com>
Diffstat (limited to 'arch/alpha/kernel/irq_i8259.c')
-rw-r--r--arch/alpha/kernel/irq_i8259.c26
1 files changed, 4 insertions, 22 deletions
diff --git a/arch/alpha/kernel/irq_i8259.c b/arch/alpha/kernel/irq_i8259.c
index 9e493958895d..956ea0ed1694 100644
--- a/arch/alpha/kernel/irq_i8259.c
+++ b/arch/alpha/kernel/irq_i8259.c
@@ -69,29 +69,11 @@ i8259a_mask_and_ack_irq(unsigned int irq)
69 spin_unlock(&i8259_irq_lock); 69 spin_unlock(&i8259_irq_lock);
70} 70}
71 71
72unsigned int
73i8259a_startup_irq(unsigned int irq)
74{
75 i8259a_enable_irq(irq);
76 return 0; /* never anything pending */
77}
78
79void
80i8259a_end_irq(unsigned int irq)
81{
82 struct irq_desc *desc = irq_to_desc(irq);
83 if (desc || !(desc->status & (IRQ_DISABLED|IRQ_INPROGRESS)))
84 i8259a_enable_irq(irq);
85}
86
87struct irq_chip i8259a_irq_type = { 72struct irq_chip i8259a_irq_type = {
88 .name = "XT-PIC", 73 .name = "XT-PIC",
89 .startup = i8259a_startup_irq, 74 .unmask = i8259a_enable_irq,
90 .shutdown = i8259a_disable_irq, 75 .mask = i8259a_disable_irq,
91 .enable = i8259a_enable_irq, 76 .mask_ack = i8259a_mask_and_ack_irq,
92 .disable = i8259a_disable_irq,
93 .ack = i8259a_mask_and_ack_irq,
94 .end = i8259a_end_irq,
95}; 77};
96 78
97void __init 79void __init
@@ -108,7 +90,7 @@ init_i8259a_irqs(void)
108 outb(0xff, 0xA1); /* mask all of 8259A-2 */ 90 outb(0xff, 0xA1); /* mask all of 8259A-2 */
109 91
110 for (i = 0; i < 16; i++) { 92 for (i = 0; i < 16; i++) {
111 set_irq_chip_and_handler(i, &i8259a_irq_type, alpha_do_IRQ); 93 set_irq_chip_and_handler(i, &i8259a_irq_type, handle_level_irq);
112 } 94 }
113 95
114 setup_irq(2, &cascade); 96 setup_irq(2, &cascade);