aboutsummaryrefslogtreecommitdiffstats
path: root/arch/alpha/kernel/sys_noritake.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/alpha/kernel/sys_noritake.c')
-rw-r--r--arch/alpha/kernel/sys_noritake.c25
1 files changed, 4 insertions, 21 deletions
diff --git a/arch/alpha/kernel/sys_noritake.c b/arch/alpha/kernel/sys_noritake.c
index 004f8ec1057..e88f4ae1260 100644
--- a/arch/alpha/kernel/sys_noritake.c
+++ b/arch/alpha/kernel/sys_noritake.c
@@ -59,28 +59,11 @@ noritake_disable_irq(unsigned int irq)
59 noritake_update_irq_hw(irq, cached_irq_mask &= ~(1 << (irq - 16))); 59 noritake_update_irq_hw(irq, cached_irq_mask &= ~(1 << (irq - 16)));
60} 60}
61 61
62static unsigned int
63noritake_startup_irq(unsigned int irq)
64{
65 noritake_enable_irq(irq);
66 return 0;
67}
68
69static void
70noritake_end_irq(unsigned int irq)
71{
72 if (!(irq_to_desc(irq)->status & (IRQ_DISABLED|IRQ_INPROGRESS)))
73 noritake_enable_irq(irq);
74}
75
76static struct irq_chip noritake_irq_type = { 62static struct irq_chip noritake_irq_type = {
77 .name = "NORITAKE", 63 .name = "NORITAKE",
78 .startup = noritake_startup_irq, 64 .unmask = noritake_enable_irq,
79 .shutdown = noritake_disable_irq, 65 .mask = noritake_disable_irq,
80 .enable = noritake_enable_irq, 66 .mask_ack = noritake_disable_irq,
81 .disable = noritake_disable_irq,
82 .ack = noritake_disable_irq,
83 .end = noritake_end_irq,
84}; 67};
85 68
86static void 69static void
@@ -145,7 +128,7 @@ noritake_init_irq(void)
145 128
146 for (i = 16; i < 48; ++i) { 129 for (i = 16; i < 48; ++i) {
147 irq_to_desc(i)->status |= IRQ_LEVEL; 130 irq_to_desc(i)->status |= IRQ_LEVEL;
148 set_irq_chip_and_handler(i, &noritake_irq_type, alpha_do_IRQ); 131 set_irq_chip_and_handler(i, &noritake_irq_type, handle_level_irq);
149 } 132 }
150 133
151 init_i8259a_irqs(); 134 init_i8259a_irqs();