diff options
Diffstat (limited to 'arch/powerpc/kernel/smp.c')
-rw-r--r-- | arch/powerpc/kernel/smp.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c index ac2621af3154..ee7d76bfcb4c 100644 --- a/arch/powerpc/kernel/smp.c +++ b/arch/powerpc/kernel/smp.c | |||
@@ -145,9 +145,9 @@ static irqreturn_t reschedule_action(int irq, void *data) | |||
145 | return IRQ_HANDLED; | 145 | return IRQ_HANDLED; |
146 | } | 146 | } |
147 | 147 | ||
148 | static irqreturn_t call_function_single_action(int irq, void *data) | 148 | static irqreturn_t unused_action(int irq, void *data) |
149 | { | 149 | { |
150 | generic_smp_call_function_single_interrupt(); | 150 | /* This slot is unused and hence available for use, if needed */ |
151 | return IRQ_HANDLED; | 151 | return IRQ_HANDLED; |
152 | } | 152 | } |
153 | 153 | ||
@@ -168,14 +168,14 @@ static irqreturn_t debug_ipi_action(int irq, void *data) | |||
168 | static irq_handler_t smp_ipi_action[] = { | 168 | static irq_handler_t smp_ipi_action[] = { |
169 | [PPC_MSG_CALL_FUNCTION] = call_function_action, | 169 | [PPC_MSG_CALL_FUNCTION] = call_function_action, |
170 | [PPC_MSG_RESCHEDULE] = reschedule_action, | 170 | [PPC_MSG_RESCHEDULE] = reschedule_action, |
171 | [PPC_MSG_CALL_FUNC_SINGLE] = call_function_single_action, | 171 | [PPC_MSG_UNUSED] = unused_action, |
172 | [PPC_MSG_DEBUGGER_BREAK] = debug_ipi_action, | 172 | [PPC_MSG_DEBUGGER_BREAK] = debug_ipi_action, |
173 | }; | 173 | }; |
174 | 174 | ||
175 | const char *smp_ipi_name[] = { | 175 | const char *smp_ipi_name[] = { |
176 | [PPC_MSG_CALL_FUNCTION] = "ipi call function", | 176 | [PPC_MSG_CALL_FUNCTION] = "ipi call function", |
177 | [PPC_MSG_RESCHEDULE] = "ipi reschedule", | 177 | [PPC_MSG_RESCHEDULE] = "ipi reschedule", |
178 | [PPC_MSG_CALL_FUNC_SINGLE] = "ipi call function single", | 178 | [PPC_MSG_UNUSED] = "ipi unused", |
179 | [PPC_MSG_DEBUGGER_BREAK] = "ipi debugger", | 179 | [PPC_MSG_DEBUGGER_BREAK] = "ipi debugger", |
180 | }; | 180 | }; |
181 | 181 | ||
@@ -251,8 +251,6 @@ irqreturn_t smp_ipi_demux(void) | |||
251 | generic_smp_call_function_interrupt(); | 251 | generic_smp_call_function_interrupt(); |
252 | if (all & IPI_MESSAGE(PPC_MSG_RESCHEDULE)) | 252 | if (all & IPI_MESSAGE(PPC_MSG_RESCHEDULE)) |
253 | scheduler_ipi(); | 253 | scheduler_ipi(); |
254 | if (all & IPI_MESSAGE(PPC_MSG_CALL_FUNC_SINGLE)) | ||
255 | generic_smp_call_function_single_interrupt(); | ||
256 | if (all & IPI_MESSAGE(PPC_MSG_DEBUGGER_BREAK)) | 254 | if (all & IPI_MESSAGE(PPC_MSG_DEBUGGER_BREAK)) |
257 | debug_ipi_action(0, NULL); | 255 | debug_ipi_action(0, NULL); |
258 | } while (info->messages); | 256 | } while (info->messages); |
@@ -280,7 +278,7 @@ EXPORT_SYMBOL_GPL(smp_send_reschedule); | |||
280 | 278 | ||
281 | void arch_send_call_function_single_ipi(int cpu) | 279 | void arch_send_call_function_single_ipi(int cpu) |
282 | { | 280 | { |
283 | do_message_pass(cpu, PPC_MSG_CALL_FUNC_SINGLE); | 281 | do_message_pass(cpu, PPC_MSG_CALL_FUNCTION); |
284 | } | 282 | } |
285 | 283 | ||
286 | void arch_send_call_function_ipi_mask(const struct cpumask *mask) | 284 | void arch_send_call_function_ipi_mask(const struct cpumask *mask) |