aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k/q40
diff options
context:
space:
mode:
authorRoman Zippel <zippel@linux-m68k.org>2006-06-25 08:47:00 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-25 13:00:57 -0400
commitb5dc7840b3ebe9c7967dd8ba73db957767009ff9 (patch)
tree0c5d45c592f140937e4e3e49ac9bc4ea8fc2cef7 /arch/m68k/q40
parent1d174cfb0f2a8967433e157bae9c2d4dcdee5324 (diff)
[PATCH] m68k: introduce irq controller
Introduce irq controller and use it to manage auto vector interrupts. Introduce setup_irq() which can be used for irq setup. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/m68k/q40')
-rw-r--r--arch/m68k/q40/config.c2
-rw-r--r--arch/m68k/q40/q40ints.c17
2 files changed, 0 insertions, 19 deletions
diff --git a/arch/m68k/q40/config.c b/arch/m68k/q40/config.c
index 5e0f9b04d45e..01fd662bfada 100644
--- a/arch/m68k/q40/config.c
+++ b/arch/m68k/q40/config.c
@@ -37,7 +37,6 @@
37#include <asm/q40_master.h> 37#include <asm/q40_master.h>
38 38
39extern irqreturn_t q40_process_int (int level, struct pt_regs *regs); 39extern irqreturn_t q40_process_int (int level, struct pt_regs *regs);
40extern irqreturn_t (*q40_default_handler[]) (int, void *, struct pt_regs *); /* added just for debugging */
41extern void q40_init_IRQ (void); 40extern void q40_init_IRQ (void);
42extern void q40_free_irq (unsigned int, void *); 41extern void q40_free_irq (unsigned int, void *);
43extern int show_q40_interrupts (struct seq_file *, void *); 42extern int show_q40_interrupts (struct seq_file *, void *);
@@ -181,7 +180,6 @@ void __init config_q40(void)
181 mach_request_irq = q40_request_irq; 180 mach_request_irq = q40_request_irq;
182 enable_irq = q40_enable_irq; 181 enable_irq = q40_enable_irq;
183 disable_irq = q40_disable_irq; 182 disable_irq = q40_disable_irq;
184 mach_default_handler = &q40_default_handler;
185 mach_get_model = q40_get_model; 183 mach_get_model = q40_get_model;
186 mach_get_hardware_list = q40_get_hardware_list; 184 mach_get_hardware_list = q40_get_hardware_list;
187 185
diff --git a/arch/m68k/q40/q40ints.c b/arch/m68k/q40/q40ints.c
index b106839ad813..ff80cba110d4 100644
--- a/arch/m68k/q40/q40ints.c
+++ b/arch/m68k/q40/q40ints.c
@@ -46,7 +46,6 @@ irqreturn_t q40_irq2_handler (int, void *, struct pt_regs *fp);
46 46
47 47
48static irqreturn_t q40_defhand (int irq, void *dev_id, struct pt_regs *fp); 48static irqreturn_t q40_defhand (int irq, void *dev_id, struct pt_regs *fp);
49static irqreturn_t default_handler(int lev, void *dev_id, struct pt_regs *regs);
50 49
51 50
52#define DEVNAME_SIZE 24 51#define DEVNAME_SIZE 24
@@ -415,22 +414,6 @@ static irqreturn_t q40_defhand (int irq, void *dev_id, struct pt_regs *fp)
415 else master_outb(-1,KEYBOARD_UNLOCK_REG); 414 else master_outb(-1,KEYBOARD_UNLOCK_REG);
416 return IRQ_NONE; 415 return IRQ_NONE;
417} 416}
418static irqreturn_t default_handler(int lev, void *dev_id, struct pt_regs *regs)
419{
420 printk ("Uninitialised interrupt level %d\n", lev);
421 return IRQ_NONE;
422}
423
424irqreturn_t (*q40_default_handler[SYS_IRQS])(int, void *, struct pt_regs *) = {
425 [0] = default_handler,
426 [1] = default_handler,
427 [2] = default_handler,
428 [3] = default_handler,
429 [4] = default_handler,
430 [5] = default_handler,
431 [6] = default_handler,
432 [7] = default_handler
433};
434 417
435 418
436void q40_enable_irq (unsigned int irq) 419void q40_enable_irq (unsigned int irq)