diff options
Diffstat (limited to 'arch/arm/kernel/smp.c')
| -rw-r--r-- | arch/arm/kernel/smp.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index dea7a925c7e2..d100eacdb798 100644 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c | |||
| @@ -59,7 +59,8 @@ struct secondary_data secondary_data; | |||
| 59 | volatile int __cpuinitdata pen_release = -1; | 59 | volatile int __cpuinitdata pen_release = -1; |
| 60 | 60 | ||
| 61 | enum ipi_msg_type { | 61 | enum ipi_msg_type { |
| 62 | IPI_TIMER = 2, | 62 | IPI_WAKEUP, |
| 63 | IPI_TIMER, | ||
| 63 | IPI_RESCHEDULE, | 64 | IPI_RESCHEDULE, |
| 64 | IPI_CALL_FUNC, | 65 | IPI_CALL_FUNC, |
| 65 | IPI_CALL_FUNC_SINGLE, | 66 | IPI_CALL_FUNC_SINGLE, |
| @@ -414,7 +415,8 @@ void arch_send_call_function_single_ipi(int cpu) | |||
| 414 | } | 415 | } |
| 415 | 416 | ||
| 416 | static const char *ipi_types[NR_IPI] = { | 417 | static const char *ipi_types[NR_IPI] = { |
| 417 | #define S(x,s) [x - IPI_TIMER] = s | 418 | #define S(x,s) [x] = s |
| 419 | S(IPI_WAKEUP, "CPU wakeup interrupts"), | ||
| 418 | S(IPI_TIMER, "Timer broadcast interrupts"), | 420 | S(IPI_TIMER, "Timer broadcast interrupts"), |
| 419 | S(IPI_RESCHEDULE, "Rescheduling interrupts"), | 421 | S(IPI_RESCHEDULE, "Rescheduling interrupts"), |
| 420 | S(IPI_CALL_FUNC, "Function call interrupts"), | 422 | S(IPI_CALL_FUNC, "Function call interrupts"), |
| @@ -567,10 +569,13 @@ void handle_IPI(int ipinr, struct pt_regs *regs) | |||
| 567 | unsigned int cpu = smp_processor_id(); | 569 | unsigned int cpu = smp_processor_id(); |
| 568 | struct pt_regs *old_regs = set_irq_regs(regs); | 570 | struct pt_regs *old_regs = set_irq_regs(regs); |
| 569 | 571 | ||
| 570 | if (ipinr >= IPI_TIMER && ipinr < IPI_TIMER + NR_IPI) | 572 | if (ipinr < NR_IPI) |
| 571 | __inc_irq_stat(cpu, ipi_irqs[ipinr - IPI_TIMER]); | 573 | __inc_irq_stat(cpu, ipi_irqs[ipinr]); |
| 572 | 574 | ||
| 573 | switch (ipinr) { | 575 | switch (ipinr) { |
| 576 | case IPI_WAKEUP: | ||
| 577 | break; | ||
| 578 | |||
| 574 | case IPI_TIMER: | 579 | case IPI_TIMER: |
| 575 | irq_enter(); | 580 | irq_enter(); |
| 576 | ipi_timer(); | 581 | ipi_timer(); |
