aboutsummaryrefslogtreecommitdiffstats
path: root/arch/alpha/kernel/irq_srm.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_srm.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_srm.c')
-rw-r--r--arch/alpha/kernel/irq_srm.c25
1 files changed, 4 insertions, 21 deletions
diff --git a/arch/alpha/kernel/irq_srm.c b/arch/alpha/kernel/irq_srm.c
index ea790069dfbb..0e57e828b413 100644
--- a/arch/alpha/kernel/irq_srm.c
+++ b/arch/alpha/kernel/irq_srm.c
@@ -33,29 +33,12 @@ srm_disable_irq(unsigned int irq)
33 spin_unlock(&srm_irq_lock); 33 spin_unlock(&srm_irq_lock);
34} 34}
35 35
36static unsigned int
37srm_startup_irq(unsigned int irq)
38{
39 srm_enable_irq(irq);
40 return 0;
41}
42
43static void
44srm_end_irq(unsigned int irq)
45{
46 if (!(irq_to_desc(irq)->status & (IRQ_DISABLED|IRQ_INPROGRESS)))
47 srm_enable_irq(irq);
48}
49
50/* Handle interrupts from the SRM, assuming no additional weirdness. */ 36/* Handle interrupts from the SRM, assuming no additional weirdness. */
51static struct irq_chip srm_irq_type = { 37static struct irq_chip srm_irq_type = {
52 .name = "SRM", 38 .name = "SRM",
53 .startup = srm_startup_irq, 39 .unmask = srm_enable_irq,
54 .shutdown = srm_disable_irq, 40 .mask = srm_disable_irq,
55 .enable = srm_enable_irq, 41 .mask_ack = srm_disable_irq,
56 .disable = srm_disable_irq,
57 .ack = srm_disable_irq,
58 .end = srm_end_irq,
59}; 42};
60 43
61void __init 44void __init
@@ -68,7 +51,7 @@ init_srm_irqs(long max, unsigned long ignore_mask)
68 for (i = 16; i < max; ++i) { 51 for (i = 16; i < max; ++i) {
69 if (i < 64 && ((ignore_mask >> i) & 1)) 52 if (i < 64 && ((ignore_mask >> i) & 1))
70 continue; 53 continue;
71 set_irq_chip_and_handler(i, &srm_irq_type, alpha_do_IRQ); 54 set_irq_chip_and_handler(i, &srm_irq_type, handle_level_irq);
72 irq_to_desc(i)->status |= IRQ_LEVEL; 55 irq_to_desc(i)->status |= IRQ_LEVEL;
73 } 56 }
74} 57}