diff options
Diffstat (limited to 'arch/alpha/kernel/sys_eb64p.c')
-rw-r--r-- | arch/alpha/kernel/sys_eb64p.c | 25 |
1 files changed, 4 insertions, 21 deletions
diff --git a/arch/alpha/kernel/sys_eb64p.c b/arch/alpha/kernel/sys_eb64p.c index f7a957a5575f..ae5f29d127b0 100644 --- a/arch/alpha/kernel/sys_eb64p.c +++ b/arch/alpha/kernel/sys_eb64p.c | |||
@@ -55,28 +55,11 @@ eb64p_disable_irq(unsigned int irq) | |||
55 | eb64p_update_irq_hw(irq, cached_irq_mask |= 1 << irq); | 55 | eb64p_update_irq_hw(irq, cached_irq_mask |= 1 << irq); |
56 | } | 56 | } |
57 | 57 | ||
58 | static unsigned int | ||
59 | eb64p_startup_irq(unsigned int irq) | ||
60 | { | ||
61 | eb64p_enable_irq(irq); | ||
62 | return 0; /* never anything pending */ | ||
63 | } | ||
64 | |||
65 | static void | ||
66 | eb64p_end_irq(unsigned int irq) | ||
67 | { | ||
68 | if (!(irq_to_desc(irq)->status & (IRQ_DISABLED|IRQ_INPROGRESS))) | ||
69 | eb64p_enable_irq(irq); | ||
70 | } | ||
71 | |||
72 | static struct irq_chip eb64p_irq_type = { | 58 | static struct irq_chip eb64p_irq_type = { |
73 | .name = "EB64P", | 59 | .name = "EB64P", |
74 | .startup = eb64p_startup_irq, | 60 | .unmask = eb64p_enable_irq, |
75 | .shutdown = eb64p_disable_irq, | 61 | .mask = eb64p_disable_irq, |
76 | .enable = eb64p_enable_irq, | 62 | .mask_ack = eb64p_disable_irq, |
77 | .disable = eb64p_disable_irq, | ||
78 | .ack = eb64p_disable_irq, | ||
79 | .end = eb64p_end_irq, | ||
80 | }; | 63 | }; |
81 | 64 | ||
82 | static void | 65 | static void |
@@ -136,7 +119,7 @@ eb64p_init_irq(void) | |||
136 | 119 | ||
137 | for (i = 16; i < 32; ++i) { | 120 | for (i = 16; i < 32; ++i) { |
138 | irq_to_desc(i)->status |= IRQ_LEVEL; | 121 | irq_to_desc(i)->status |= IRQ_LEVEL; |
139 | set_irq_chip_and_handler(i, &eb64p_irq_type, alpha_do_IRQ); | 122 | set_irq_chip_and_handler(i, &eb64p_irq_type, handle_level_irq); |
140 | } | 123 | } |
141 | 124 | ||
142 | common_init_isa_dma(); | 125 | common_init_isa_dma(); |