aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k/amiga
diff options
context:
space:
mode:
authorGeert Uytterhoeven <geert@linux-m68k.org>2011-09-11 05:28:04 -0400
committerGeert Uytterhoeven <geert@linux-m68k.org>2011-11-08 16:35:52 -0500
commitd890d73995257b4e10cdd7d55bad80e34a71ba22 (patch)
tree3e4ee85a2d8d126e1570c7ea47178a2a8a627849 /arch/m68k/amiga
parenta03010ed9b399fdbc28ac8836e0a6d4b15403f9f (diff)
m68k/irq: Remove obsolete m68k irq framework
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Diffstat (limited to 'arch/m68k/amiga')
-rw-r--r--arch/m68k/amiga/amiints.c114
1 files changed, 0 insertions, 114 deletions
diff --git a/arch/m68k/amiga/amiints.c b/arch/m68k/amiga/amiints.c
index a8da47126584..47b5f90002ab 100644
--- a/arch/m68k/amiga/amiints.c
+++ b/arch/m68k/amiga/amiints.c
@@ -9,9 +9,7 @@
9#include <linux/init.h> 9#include <linux/init.h>
10#include <linux/interrupt.h> 10#include <linux/interrupt.h>
11#include <linux/errno.h> 11#include <linux/errno.h>
12#ifdef CONFIG_GENERIC_HARDIRQS
13#include <linux/irq.h> 12#include <linux/irq.h>
14#endif
15 13
16#include <asm/irq.h> 14#include <asm/irq.h>
17#include <asm/traps.h> 15#include <asm/traps.h>
@@ -48,7 +46,6 @@ static struct irq_chip amiga_irq_chip = {
48 * The builtin Amiga hardware interrupt handlers. 46 * The builtin Amiga hardware interrupt handlers.
49 */ 47 */
50 48
51#ifdef CONFIG_GENERIC_HARDIRQS
52static void ami_int1(unsigned int irq, struct irq_desc *desc) 49static void ami_int1(unsigned int irq, struct irq_desc *desc)
53{ 50{
54 unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar; 51 unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar;
@@ -140,103 +137,6 @@ static void ami_int5(unsigned int irq, struct irq_desc *desc)
140 generic_handle_irq(IRQ_AMIGA_DSKSYN); 137 generic_handle_irq(IRQ_AMIGA_DSKSYN);
141 } 138 }
142} 139}
143#else /* !CONFIG_GENERIC_HARDIRQS */
144static irqreturn_t ami_int1(int irq, void *dev_id)
145{
146 unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar;
147
148 /* if serial transmit buffer empty, interrupt */
149 if (ints & IF_TBE) {
150 amiga_custom.intreq = IF_TBE;
151 generic_handle_irq(IRQ_AMIGA_TBE);
152 }
153
154 /* if floppy disk transfer complete, interrupt */
155 if (ints & IF_DSKBLK) {
156 amiga_custom.intreq = IF_DSKBLK;
157 generic_handle_irq(IRQ_AMIGA_DSKBLK);
158 }
159
160 /* if software interrupt set, interrupt */
161 if (ints & IF_SOFT) {
162 amiga_custom.intreq = IF_SOFT;
163 generic_handle_irq(IRQ_AMIGA_SOFT);
164 }
165 return IRQ_HANDLED;
166}
167
168static irqreturn_t ami_int3(int irq, void *dev_id)
169{
170 unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar;
171
172 /* if a blitter interrupt */
173 if (ints & IF_BLIT) {
174 amiga_custom.intreq = IF_BLIT;
175 generic_handle_irq(IRQ_AMIGA_BLIT);
176 }
177
178 /* if a copper interrupt */
179 if (ints & IF_COPER) {
180 amiga_custom.intreq = IF_COPER;
181 generic_handle_irq(IRQ_AMIGA_COPPER);
182 }
183
184 /* if a vertical blank interrupt */
185 if (ints & IF_VERTB) {
186 amiga_custom.intreq = IF_VERTB;
187 generic_handle_irq(IRQ_AMIGA_VERTB);
188 }
189 return IRQ_HANDLED;
190}
191
192static irqreturn_t ami_int4(int irq, void *dev_id)
193{
194 unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar;
195
196 /* if audio 0 interrupt */
197 if (ints & IF_AUD0) {
198 amiga_custom.intreq = IF_AUD0;
199 generic_handle_irq(IRQ_AMIGA_AUD0);
200 }
201
202 /* if audio 1 interrupt */
203 if (ints & IF_AUD1) {
204 amiga_custom.intreq = IF_AUD1;
205 generic_handle_irq(IRQ_AMIGA_AUD1);
206 }
207
208 /* if audio 2 interrupt */
209 if (ints & IF_AUD2) {
210 amiga_custom.intreq = IF_AUD2;
211 generic_handle_irq(IRQ_AMIGA_AUD2);
212 }
213
214 /* if audio 3 interrupt */
215 if (ints & IF_AUD3) {
216 amiga_custom.intreq = IF_AUD3;
217 generic_handle_irq(IRQ_AMIGA_AUD3);
218 }
219 return IRQ_HANDLED;
220}
221
222static irqreturn_t ami_int5(int irq, void *dev_id)
223{
224 unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar;
225
226 /* if serial receive buffer full interrupt */
227 if (ints & IF_RBF) {
228 /* acknowledge of IF_RBF must be done by the serial interrupt */
229 generic_handle_irq(IRQ_AMIGA_RBF);
230 }
231
232 /* if a disk sync interrupt */
233 if (ints & IF_DSKSYN) {
234 amiga_custom.intreq = IF_DSKSYN;
235 generic_handle_irq(IRQ_AMIGA_DSKSYN);
236 }
237 return IRQ_HANDLED;
238}
239#endif /* !CONFIG_GENERIC_HARDIRQS */
240 140
241 141
242/* 142/*
@@ -252,7 +152,6 @@ static irqreturn_t ami_int5(int irq, void *dev_id)
252 152
253void __init amiga_init_IRQ(void) 153void __init amiga_init_IRQ(void)
254{ 154{
255#ifdef CONFIG_GENERIC_HARDIRQS
256 m68k_setup_irq_controller(&amiga_irq_chip, handle_simple_irq, IRQ_USER, 155 m68k_setup_irq_controller(&amiga_irq_chip, handle_simple_irq, IRQ_USER,
257 AMI_STD_IRQS); 156 AMI_STD_IRQS);
258 157
@@ -260,19 +159,6 @@ void __init amiga_init_IRQ(void)
260 irq_set_chained_handler(IRQ_AUTO_3, ami_int3); 159 irq_set_chained_handler(IRQ_AUTO_3, ami_int3);
261 irq_set_chained_handler(IRQ_AUTO_4, ami_int4); 160 irq_set_chained_handler(IRQ_AUTO_4, ami_int4);
262 irq_set_chained_handler(IRQ_AUTO_5, ami_int5); 161 irq_set_chained_handler(IRQ_AUTO_5, ami_int5);
263#else /* !CONFIG_GENERIC_HARDIRQS */
264 if (request_irq(IRQ_AUTO_1, ami_int1, 0, "int1", NULL))
265 pr_err("Couldn't register int%d\n", 1);
266 if (request_irq(IRQ_AUTO_3, ami_int3, 0, "int3", NULL))
267 pr_err("Couldn't register int%d\n", 3);
268 if (request_irq(IRQ_AUTO_4, ami_int4, 0, "int4", NULL))
269 pr_err("Couldn't register int%d\n", 4);
270 if (request_irq(IRQ_AUTO_5, ami_int5, 0, "int5", NULL))
271 pr_err("Couldn't register int%d\n", 5);
272
273 m68k_setup_irq_controller(&amiga_irq_chip, handle_simple_irq, IRQ_USER,
274 AMI_STD_IRQS);
275#endif /* !CONFIG_GENERIC_HARDIRQS */
276 162
277 /* turn off PCMCIA interrupts */ 163 /* turn off PCMCIA interrupts */
278 if (AMIGAHW_PRESENT(PCMCIA)) 164 if (AMIGAHW_PRESENT(PCMCIA))