Commit 93373ed4d87fb02554ce020d929388ac16913664
1 parent
c9e321e095
Exists in
master
and in
7 other branches
[MIPS] Rewrite spurious_interrupt from assembler to C.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Showing 18 changed files with 40 additions and 44 deletions Side-by-side Diff
- arch/mips/au1000/common/int-handler.S
- arch/mips/ddb5xxx/ddb5476/int-handler.S
- arch/mips/ddb5xxx/ddb5476/vrc5476_irq.c
- arch/mips/ddb5xxx/ddb5477/int-handler.S
- arch/mips/dec/int-handler.S
- arch/mips/galileo-boards/ev96100/int-handler.S
- arch/mips/gt64120/ev64120/int-handler.S
- arch/mips/jazz/int-handler.S
- arch/mips/kernel/entry.S
- arch/mips/kernel/irq.c
- arch/mips/mips-boards/generic/mipsIRQ.S
- arch/mips/mips-boards/sim/sim_irq.S
- arch/mips/momentum/ocelot_3/int-handler.S
- arch/mips/momentum/ocelot_c/int-handler.S
- arch/mips/philips/pnx8550/common/mipsIRQ.S
- arch/mips/tx4927/common/tx4927_irq_handler.S
- arch/mips/vr41xx/common/int-handler.S
- include/asm-mips/irq.h
arch/mips/au1000/common/int-handler.S
arch/mips/ddb5xxx/ddb5476/int-handler.S
arch/mips/ddb5xxx/ddb5476/vrc5476_irq.c
... | ... | @@ -80,8 +80,6 @@ |
80 | 80 | asmlinkage void |
81 | 81 | vrc5476_irq_dispatch(struct pt_regs *regs) |
82 | 82 | { |
83 | - extern void spurious_interrupt(void); | |
84 | - | |
85 | 83 | u32 mask; |
86 | 84 | int nile4_irq; |
87 | 85 | |
... | ... | @@ -107,6 +105,6 @@ |
107 | 105 | return; |
108 | 106 | } |
109 | 107 | } |
110 | - spurious_interrupt(); | |
108 | + spurious_interrupt(regs); | |
111 | 109 | } |
arch/mips/ddb5xxx/ddb5477/int-handler.S
arch/mips/dec/int-handler.S
arch/mips/galileo-boards/ev96100/int-handler.S
arch/mips/gt64120/ev64120/int-handler.S
arch/mips/jazz/int-handler.S
arch/mips/kernel/entry.S
... | ... | @@ -119,30 +119,4 @@ |
119 | 119 | li a1, 1 |
120 | 120 | jal do_syscall_trace |
121 | 121 | b resume_userspace |
122 | - | |
123 | -/* | |
124 | - * Common spurious interrupt handler. | |
125 | - */ | |
126 | -LEAF(spurious_interrupt) | |
127 | - /* | |
128 | - * Someone tried to fool us by sending an interrupt but we | |
129 | - * couldn't find a cause for it. | |
130 | - */ | |
131 | - PTR_LA t1, irq_err_count | |
132 | -#ifdef CONFIG_SMP | |
133 | -1: ll t0, (t1) | |
134 | - addiu t0, 1 | |
135 | - sc t0, (t1) | |
136 | -#if R10000_LLSC_WAR | |
137 | - beqzl t0, 1b | |
138 | -#else | |
139 | - beqz t0, 1b | |
140 | -#endif | |
141 | -#else | |
142 | - lw t0, (t1) | |
143 | - addiu t0, 1 | |
144 | - sw t0, (t1) | |
145 | -#endif | |
146 | - j ret_from_irq | |
147 | - END(spurious_interrupt) |
arch/mips/kernel/irq.c
arch/mips/mips-boards/generic/mipsIRQ.S
arch/mips/mips-boards/sim/sim_irq.S
arch/mips/momentum/ocelot_3/int-handler.S
arch/mips/momentum/ocelot_c/int-handler.S
arch/mips/philips/pnx8550/common/mipsIRQ.S
arch/mips/tx4927/common/tx4927_irq_handler.S
arch/mips/vr41xx/common/int-handler.S