diff options
author | Geert Uytterhoeven <geert@linux-m68k.org> | 2011-09-11 05:28:04 -0400 |
---|---|---|
committer | Geert Uytterhoeven <geert@linux-m68k.org> | 2011-11-08 16:35:52 -0500 |
commit | d890d73995257b4e10cdd7d55bad80e34a71ba22 (patch) | |
tree | 3e4ee85a2d8d126e1570c7ea47178a2a8a627849 /arch/m68k/mac/psc.c | |
parent | a03010ed9b399fdbc28ac8836e0a6d4b15403f9f (diff) |
m68k/irq: Remove obsolete m68k irq framework
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Diffstat (limited to 'arch/m68k/mac/psc.c')
-rw-r--r-- | arch/m68k/mac/psc.c | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/arch/m68k/mac/psc.c b/arch/m68k/mac/psc.c index 52840b8c03b8..e6c2d20f328d 100644 --- a/arch/m68k/mac/psc.c +++ b/arch/m68k/mac/psc.c | |||
@@ -18,9 +18,7 @@ | |||
18 | #include <linux/mm.h> | 18 | #include <linux/mm.h> |
19 | #include <linux/delay.h> | 19 | #include <linux/delay.h> |
20 | #include <linux/init.h> | 20 | #include <linux/init.h> |
21 | #ifdef CONFIG_GENERIC_HARDIRQS | ||
22 | #include <linux/irq.h> | 21 | #include <linux/irq.h> |
23 | #endif | ||
24 | 22 | ||
25 | #include <asm/traps.h> | 23 | #include <asm/traps.h> |
26 | #include <asm/bootinfo.h> | 24 | #include <asm/bootinfo.h> |
@@ -116,7 +114,6 @@ void __init psc_init(void) | |||
116 | * PSC interrupt handler. It's a lot like the VIA interrupt handler. | 114 | * PSC interrupt handler. It's a lot like the VIA interrupt handler. |
117 | */ | 115 | */ |
118 | 116 | ||
119 | #ifdef CONFIG_GENERIC_HARDIRQS | ||
120 | static void psc_irq(unsigned int irq, struct irq_desc *desc) | 117 | static void psc_irq(unsigned int irq, struct irq_desc *desc) |
121 | { | 118 | { |
122 | unsigned int offset = (unsigned int)irq_desc_get_handler_data(desc); | 119 | unsigned int offset = (unsigned int)irq_desc_get_handler_data(desc); |
@@ -145,36 +142,6 @@ static void psc_irq(unsigned int irq, struct irq_desc *desc) | |||
145 | irq_bit <<= 1; | 142 | irq_bit <<= 1; |
146 | } while (events >= irq_bit); | 143 | } while (events >= irq_bit); |
147 | } | 144 | } |
148 | #else | ||
149 | static irqreturn_t psc_irq(int irq, void *dev_id) | ||
150 | { | ||
151 | int pIFR = pIFRbase + ((int) dev_id); | ||
152 | int pIER = pIERbase + ((int) dev_id); | ||
153 | int irq_num; | ||
154 | unsigned char irq_bit, events; | ||
155 | |||
156 | #ifdef DEBUG_IRQS | ||
157 | printk("psc_irq: irq %d pIFR = 0x%02X pIER = 0x%02X\n", | ||
158 | irq, (int) psc_read_byte(pIFR), (int) psc_read_byte(pIER)); | ||
159 | #endif | ||
160 | |||
161 | events = psc_read_byte(pIFR) & psc_read_byte(pIER) & 0xF; | ||
162 | if (!events) | ||
163 | return IRQ_NONE; | ||
164 | |||
165 | irq_num = irq << 3; | ||
166 | irq_bit = 1; | ||
167 | do { | ||
168 | if (events & irq_bit) { | ||
169 | psc_write_byte(pIFR, irq_bit); | ||
170 | generic_handle_irq(irq_num); | ||
171 | } | ||
172 | irq_num++; | ||
173 | irq_bit <<= 1; | ||
174 | } while (events >= irq_bit); | ||
175 | return IRQ_HANDLED; | ||
176 | } | ||
177 | #endif | ||
178 | 145 | ||
179 | /* | 146 | /* |
180 | * Register the PSC interrupt dispatchers for autovector interrupts 3-6. | 147 | * Register the PSC interrupt dispatchers for autovector interrupts 3-6. |
@@ -182,7 +149,6 @@ static irqreturn_t psc_irq(int irq, void *dev_id) | |||
182 | 149 | ||
183 | void __init psc_register_interrupts(void) | 150 | void __init psc_register_interrupts(void) |
184 | { | 151 | { |
185 | #ifdef CONFIG_GENERIC_HARDIRQS | ||
186 | irq_set_chained_handler(IRQ_AUTO_3, psc_irq); | 152 | irq_set_chained_handler(IRQ_AUTO_3, psc_irq); |
187 | irq_set_handler_data(IRQ_AUTO_3, (void *)0x30); | 153 | irq_set_handler_data(IRQ_AUTO_3, (void *)0x30); |
188 | irq_set_chained_handler(IRQ_AUTO_4, psc_irq); | 154 | irq_set_chained_handler(IRQ_AUTO_4, psc_irq); |
@@ -191,16 +157,6 @@ void __init psc_register_interrupts(void) | |||
191 | irq_set_handler_data(IRQ_AUTO_5, (void *)0x50); | 157 | irq_set_handler_data(IRQ_AUTO_5, (void *)0x50); |
192 | irq_set_chained_handler(IRQ_AUTO_6, psc_irq); | 158 | irq_set_chained_handler(IRQ_AUTO_6, psc_irq); |
193 | irq_set_handler_data(IRQ_AUTO_6, (void *)0x60); | 159 | irq_set_handler_data(IRQ_AUTO_6, (void *)0x60); |
194 | #else /* !CONFIG_GENERIC_HARDIRQS */ | ||
195 | if (request_irq(IRQ_AUTO_3, psc_irq, 0, "psc3", (void *) 0x30)) | ||
196 | pr_err("Couldn't register psc%d interrupt\n", 3); | ||
197 | if (request_irq(IRQ_AUTO_4, psc_irq, 0, "psc4", (void *) 0x40)) | ||
198 | pr_err("Couldn't register psc%d interrupt\n", 4); | ||
199 | if (request_irq(IRQ_AUTO_5, psc_irq, 0, "psc5", (void *) 0x50)) | ||
200 | pr_err("Couldn't register psc%d interrupt\n", 5); | ||
201 | if (request_irq(IRQ_AUTO_6, psc_irq, 0, "psc6", (void *) 0x60)) | ||
202 | pr_err("Couldn't register psc%d interrupt\n", 6); | ||
203 | #endif /* !CONFIG_GENERIC_HARDIRQS */ | ||
204 | } | 160 | } |
205 | 161 | ||
206 | void psc_irq_enable(int irq) { | 162 | void psc_irq_enable(int irq) { |