aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k/kernel/ints.c
diff options
context:
space:
mode:
authorRoman Zippel <zippel@linux-m68k.org>2006-06-25 05:46:58 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-25 10:00:56 -0700
commit92445eaaadc1f03f5a177ecc957bda76bf2ba8d5 (patch)
treee327dc2b95b3fe34183428314d6b6e0700e9e72b /arch/m68k/kernel/ints.c
parentf2325ecebc5b7988fd49968bd3a660fd1594dc84 (diff)
downloadkernel_samsung_smdk4412-92445eaaadc1f03f5a177ecc957bda76bf2ba8d5.zip
kernel_samsung_smdk4412-92445eaaadc1f03f5a177ecc957bda76bf2ba8d5.tar.gz
kernel_samsung_smdk4412-92445eaaadc1f03f5a177ecc957bda76bf2ba8d5.tar.bz2
[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.c21
1 files changed, 9 insertions, 12 deletions
diff --git a/arch/m68k/kernel/ints.c b/arch/m68k/kernel/ints.c
index 4b85514..895a56d 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)