diff options
Diffstat (limited to 'arch/alpha/kernel/sys_noritake.c')
-rw-r--r-- | arch/alpha/kernel/sys_noritake.c | 25 |
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 | ||
62 | static unsigned int | ||
63 | noritake_startup_irq(unsigned int irq) | ||
64 | { | ||
65 | noritake_enable_irq(irq); | ||
66 | return 0; | ||
67 | } | ||
68 | |||
69 | static void | ||
70 | noritake_end_irq(unsigned int irq) | ||
71 | { | ||
72 | if (!(irq_to_desc(irq)->status & (IRQ_DISABLED|IRQ_INPROGRESS))) | ||
73 | noritake_enable_irq(irq); | ||
74 | } | ||
75 | |||
76 | static struct irq_chip noritake_irq_type = { | 62 | static 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 | ||
86 | static void | 69 | static 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(); |