diff options
Diffstat (limited to 'arch/alpha/kernel/sys_takara.c')
-rw-r--r-- | arch/alpha/kernel/sys_takara.c | 25 |
1 files changed, 4 insertions, 21 deletions
diff --git a/arch/alpha/kernel/sys_takara.c b/arch/alpha/kernel/sys_takara.c index dc3c23265eff..f8a1e8a862fb 100644 --- a/arch/alpha/kernel/sys_takara.c +++ b/arch/alpha/kernel/sys_takara.c | |||
@@ -60,28 +60,11 @@ takara_disable_irq(unsigned int irq) | |||
60 | takara_update_irq_hw(irq, mask); | 60 | takara_update_irq_hw(irq, mask); |
61 | } | 61 | } |
62 | 62 | ||
63 | static unsigned int | ||
64 | takara_startup_irq(unsigned int irq) | ||
65 | { | ||
66 | takara_enable_irq(irq); | ||
67 | return 0; /* never anything pending */ | ||
68 | } | ||
69 | |||
70 | static void | ||
71 | takara_end_irq(unsigned int irq) | ||
72 | { | ||
73 | if (!(irq_to_desc(irq)->status & (IRQ_DISABLED|IRQ_INPROGRESS))) | ||
74 | takara_enable_irq(irq); | ||
75 | } | ||
76 | |||
77 | static struct irq_chip takara_irq_type = { | 63 | static struct irq_chip takara_irq_type = { |
78 | .name = "TAKARA", | 64 | .name = "TAKARA", |
79 | .startup = takara_startup_irq, | 65 | .unmask = takara_enable_irq, |
80 | .shutdown = takara_disable_irq, | 66 | .mask = takara_disable_irq, |
81 | .enable = takara_enable_irq, | 67 | .mask_ack = takara_disable_irq, |
82 | .disable = takara_disable_irq, | ||
83 | .ack = takara_disable_irq, | ||
84 | .end = takara_end_irq, | ||
85 | }; | 68 | }; |
86 | 69 | ||
87 | static void | 70 | static void |
@@ -154,7 +137,7 @@ takara_init_irq(void) | |||
154 | 137 | ||
155 | for (i = 16; i < 128; ++i) { | 138 | for (i = 16; i < 128; ++i) { |
156 | irq_to_desc(i)->status |= IRQ_LEVEL; | 139 | irq_to_desc(i)->status |= IRQ_LEVEL; |
157 | set_irq_chip_and_handler(i, &takara_irq_type, alpha_do_IRQ); | 140 | set_irq_chip_and_handler(i, &takara_irq_type, handle_level_irq); |
158 | } | 141 | } |
159 | 142 | ||
160 | common_init_isa_dma(); | 143 | common_init_isa_dma(); |