aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k/mac/via.c
diff options
context:
space:
mode:
authorFinn Thain <fthain@telegraphics.com.au>2007-05-01 22:32:58 +0200
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-04 17:59:07 -0700
commit217f6710c275118af1008bb1447d244be52d2dc3 (patch)
treeafcc692e42ea227090384c6973ed2c97a8636040 /arch/m68k/mac/via.c
parentm68k: Mac nubus IRQ fixes (plan E) (diff)
downloadlinux-dev-217f6710c275118af1008bb1447d244be52d2dc3.tar.xz
linux-dev-217f6710c275118af1008bb1447d244be52d2dc3.zip
m68k: Mac IRQ cleanup
There are no slow IRQs on Macs since Roman Zippel's IRQ reorganisation that went into 2.6.16 and removed mac_irq_list[] and the do_mac_irq_list() dispatcher. (They were implemented in do_mac_irq_list() by lowering the IPL.) Hence there's no more use for mutual exclusion in the Mac interrupt dispatchers. Remove it. Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to '')
-rw-r--r--arch/m68k/mac/via.c10
1 files changed, 0 insertions, 10 deletions
diff --git a/arch/m68k/mac/via.c b/arch/m68k/mac/via.c
index 83a3bb0c0325..d5cac72eb3db 100644
--- a/arch/m68k/mac/via.c
+++ b/arch/m68k/mac/via.c
@@ -443,11 +443,6 @@ void __init via_nubus_init(void)
/*
* The generic VIA interrupt routines (shamelessly stolen from Alan Cox's
* via6522.c :-), disable/pending masks added.
- *
- * The new interrupt architecture in macints.c takes care of a lot of the
- * gruntwork for us, including tallying the interrupts and calling the
- * handlers on the linked list. All we need to do here is basically generate
- * the machspec interrupt number after clearing the interrupt.
*/
irqreturn_t via1_irq(int irq, void *dev_id)
@@ -463,10 +458,8 @@ irqreturn_t via1_irq(int irq, void *dev_id)
irq_bit = 1;
do {
if (events & irq_bit) {
- via1[vIER] = irq_bit;
via1[vIFR] = irq_bit;
m68k_handle_int(irq_num);
- via1[vIER] = irq_bit | 0x80;
}
++irq_num;
irq_bit <<= 1;
@@ -502,11 +495,8 @@ irqreturn_t via2_irq(int irq, void *dev_id)
irq_bit = 1;
do {
if (events & irq_bit) {
- via2[gIER] = irq_bit;
via2[gIFR] = irq_bit | rbv_clear;
m68k_handle_int(irq_num);
- if (irq_num != IRQ_MAC_NUBUS || nubus_disabled == 0)
- via2[gIER] = irq_bit | 0x80;
}
++irq_num;
irq_bit <<= 1;