diff options
author | Roman Zippel <zippel@linux-m68k.org> | 2006-06-25 14:46:58 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-25 19:00:56 +0200 |
commit | 92445eaaadc1f03f5a177ecc957bda76bf2ba8d5 (patch) | |
tree | e327dc2b95b3fe34183428314d6b6e0700e9e72b /arch/m68k/kernel/ints.c | |
parent | [PATCH] m68k: fix show_registers() (diff) | |
download | linux-92445eaaadc1f03f5a177ecc957bda76bf2ba8d5.tar.xz linux-92445eaaadc1f03f5a177ecc957bda76bf2ba8d5.zip |
[PATCH] m68k: separate handler for auto and user vector interrupt
Use separate entry points for auto and user vector interrupts and cleanup
naming a little.
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/kernel/ints.c')
-rw-r--r-- | arch/m68k/kernel/ints.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/arch/m68k/kernel/ints.c b/arch/m68k/kernel/ints.c index 4b85514792e7..895a56d69eba 100644 --- a/arch/m68k/kernel/ints.c +++ b/arch/m68k/kernel/ints.c @@ -248,19 +248,16 @@ static void dummy_free_irq(unsigned int irq, void *dev_id) printk("calling uninitialized disable_irq()\n"); } -asmlinkage void process_int(unsigned long vec, struct pt_regs *fp) +asmlinkage void m68k_handle_int(unsigned int irq, struct pt_regs *regs) { - if (vec >= VEC_INT1 && vec <= VEC_INT7 && !MACH_IS_BVME6000) { - vec -= VEC_SPUR; - kstat_cpu(0).irqs[vec]++; - irq_list[vec].handler(vec, irq_list[vec].dev_id, fp); - } else { - if (mach_process_int) - mach_process_int(vec, fp); - else - panic("Can't process interrupt vector %ld\n", vec); - return; - } + kstat_cpu(0).irqs[irq]++; + irq_list[irq].handler(irq, irq_list[irq].dev_id, regs); +} + +asmlinkage void handle_badint(struct pt_regs *regs) +{ + kstat_cpu(0).irqs[0]++; + printk("unexpected interrupt from %u\n", regs->vector); } int show_interrupts(struct seq_file *p, void *v) |