diff options
Diffstat (limited to 'arch/mips/sgi-ip27/ip27-irq.c')
-rw-r--r-- | arch/mips/sgi-ip27/ip27-irq.c | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/arch/mips/sgi-ip27/ip27-irq.c b/arch/mips/sgi-ip27/ip27-irq.c index 24a85372284f..f01ba1f90770 100644 --- a/arch/mips/sgi-ip27/ip27-irq.c +++ b/arch/mips/sgi-ip27/ip27-irq.c | |||
@@ -30,7 +30,6 @@ | |||
30 | #include <asm/mipsregs.h> | 30 | #include <asm/mipsregs.h> |
31 | #include <asm/system.h> | 31 | #include <asm/system.h> |
32 | 32 | ||
33 | #include <asm/ptrace.h> | ||
34 | #include <asm/processor.h> | 33 | #include <asm/processor.h> |
35 | #include <asm/pci/bridge.h> | 34 | #include <asm/pci/bridge.h> |
36 | #include <asm/sn/addrs.h> | 35 | #include <asm/sn/addrs.h> |
@@ -129,7 +128,7 @@ static int ms1bit(unsigned long x) | |||
129 | * Kanoj 05.13.00 | 128 | * Kanoj 05.13.00 |
130 | */ | 129 | */ |
131 | 130 | ||
132 | static void ip27_do_irq_mask0(struct pt_regs *regs) | 131 | static void ip27_do_irq_mask0(void) |
133 | { | 132 | { |
134 | int irq, swlevel; | 133 | int irq, swlevel; |
135 | hubreg_t pend0, mask0; | 134 | hubreg_t pend0, mask0; |
@@ -164,13 +163,13 @@ static void ip27_do_irq_mask0(struct pt_regs *regs) | |||
164 | struct slice_data *si = cpu_data[cpu].data; | 163 | struct slice_data *si = cpu_data[cpu].data; |
165 | 164 | ||
166 | irq = si->level_to_irq[swlevel]; | 165 | irq = si->level_to_irq[swlevel]; |
167 | do_IRQ(irq, regs); | 166 | do_IRQ(irq); |
168 | } | 167 | } |
169 | 168 | ||
170 | LOCAL_HUB_L(PI_INT_PEND0); | 169 | LOCAL_HUB_L(PI_INT_PEND0); |
171 | } | 170 | } |
172 | 171 | ||
173 | static void ip27_do_irq_mask1(struct pt_regs *regs) | 172 | static void ip27_do_irq_mask1(void) |
174 | { | 173 | { |
175 | int irq, swlevel; | 174 | int irq, swlevel; |
176 | hubreg_t pend1, mask1; | 175 | hubreg_t pend1, mask1; |
@@ -190,17 +189,17 @@ static void ip27_do_irq_mask1(struct pt_regs *regs) | |||
190 | /* "map" swlevel to irq */ | 189 | /* "map" swlevel to irq */ |
191 | irq = si->level_to_irq[swlevel]; | 190 | irq = si->level_to_irq[swlevel]; |
192 | LOCAL_HUB_CLR_INTR(swlevel); | 191 | LOCAL_HUB_CLR_INTR(swlevel); |
193 | do_IRQ(irq, regs); | 192 | do_IRQ(irq); |
194 | 193 | ||
195 | LOCAL_HUB_L(PI_INT_PEND1); | 194 | LOCAL_HUB_L(PI_INT_PEND1); |
196 | } | 195 | } |
197 | 196 | ||
198 | static void ip27_prof_timer(struct pt_regs *regs) | 197 | static void ip27_prof_timer(void) |
199 | { | 198 | { |
200 | panic("CPU %d got a profiling interrupt", smp_processor_id()); | 199 | panic("CPU %d got a profiling interrupt", smp_processor_id()); |
201 | } | 200 | } |
202 | 201 | ||
203 | static void ip27_hub_error(struct pt_regs *regs) | 202 | static void ip27_hub_error(void) |
204 | { | 203 | { |
205 | panic("CPU %d got a hub error interrupt", smp_processor_id()); | 204 | panic("CPU %d got a hub error interrupt", smp_processor_id()); |
206 | } | 205 | } |
@@ -418,22 +417,22 @@ int __devinit request_bridge_irq(struct bridge_controller *bc) | |||
418 | return irq; | 417 | return irq; |
419 | } | 418 | } |
420 | 419 | ||
421 | extern void ip27_rt_timer_interrupt(struct pt_regs *regs); | 420 | extern void ip27_rt_timer_interrupt(void); |
422 | 421 | ||
423 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | 422 | asmlinkage void plat_irq_dispatch(void) |
424 | { | 423 | { |
425 | unsigned long pending = read_c0_cause() & read_c0_status(); | 424 | unsigned long pending = read_c0_cause() & read_c0_status(); |
426 | 425 | ||
427 | if (pending & CAUSEF_IP4) | 426 | if (pending & CAUSEF_IP4) |
428 | ip27_rt_timer_interrupt(regs); | 427 | ip27_rt_timer_interrupt(); |
429 | else if (pending & CAUSEF_IP2) /* PI_INT_PEND_0 or CC_PEND_{A|B} */ | 428 | else if (pending & CAUSEF_IP2) /* PI_INT_PEND_0 or CC_PEND_{A|B} */ |
430 | ip27_do_irq_mask0(regs); | 429 | ip27_do_irq_mask0(); |
431 | else if (pending & CAUSEF_IP3) /* PI_INT_PEND_1 */ | 430 | else if (pending & CAUSEF_IP3) /* PI_INT_PEND_1 */ |
432 | ip27_do_irq_mask1(regs); | 431 | ip27_do_irq_mask1(); |
433 | else if (pending & CAUSEF_IP5) | 432 | else if (pending & CAUSEF_IP5) |
434 | ip27_prof_timer(regs); | 433 | ip27_prof_timer(); |
435 | else if (pending & CAUSEF_IP6) | 434 | else if (pending & CAUSEF_IP6) |
436 | ip27_hub_error(regs); | 435 | ip27_hub_error(); |
437 | } | 436 | } |
438 | 437 | ||
439 | void __init arch_init_irq(void) | 438 | void __init arch_init_irq(void) |