diff options
Diffstat (limited to 'arch/arm/kernel/smp.c')
-rw-r--r-- | arch/arm/kernel/smp.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index e0d32770bb3d..57162af53dc9 100644 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c | |||
@@ -36,6 +36,7 @@ | |||
36 | #include <asm/tlbflush.h> | 36 | #include <asm/tlbflush.h> |
37 | #include <asm/ptrace.h> | 37 | #include <asm/ptrace.h> |
38 | #include <asm/localtimer.h> | 38 | #include <asm/localtimer.h> |
39 | #include <asm/smp_plat.h> | ||
39 | 40 | ||
40 | /* | 41 | /* |
41 | * as from 2.5, kernels no longer have an init_tasks structure | 42 | * as from 2.5, kernels no longer have an init_tasks structure |
@@ -153,7 +154,7 @@ int __cpuinit __cpu_up(unsigned int cpu) | |||
153 | /* | 154 | /* |
154 | * __cpu_disable runs on the processor to be shutdown. | 155 | * __cpu_disable runs on the processor to be shutdown. |
155 | */ | 156 | */ |
156 | int __cpuexit __cpu_disable(void) | 157 | int __cpu_disable(void) |
157 | { | 158 | { |
158 | unsigned int cpu = smp_processor_id(); | 159 | unsigned int cpu = smp_processor_id(); |
159 | struct task_struct *p; | 160 | struct task_struct *p; |
@@ -200,7 +201,7 @@ int __cpuexit __cpu_disable(void) | |||
200 | * called on the thread which is asking for a CPU to be shutdown - | 201 | * called on the thread which is asking for a CPU to be shutdown - |
201 | * waits until shutdown has completed, or it is timed out. | 202 | * waits until shutdown has completed, or it is timed out. |
202 | */ | 203 | */ |
203 | void __cpuexit __cpu_die(unsigned int cpu) | 204 | void __cpu_die(unsigned int cpu) |
204 | { | 205 | { |
205 | if (!platform_cpu_kill(cpu)) | 206 | if (!platform_cpu_kill(cpu)) |
206 | printk("CPU%u: unable to kill\n", cpu); | 207 | printk("CPU%u: unable to kill\n", cpu); |
@@ -214,7 +215,7 @@ void __cpuexit __cpu_die(unsigned int cpu) | |||
214 | * of the other hotplug-cpu capable cores, so presumably coming | 215 | * of the other hotplug-cpu capable cores, so presumably coming |
215 | * out of idle fixes this. | 216 | * out of idle fixes this. |
216 | */ | 217 | */ |
217 | void __cpuexit cpu_die(void) | 218 | void __ref cpu_die(void) |
218 | { | 219 | { |
219 | unsigned int cpu = smp_processor_id(); | 220 | unsigned int cpu = smp_processor_id(); |
220 | 221 | ||
@@ -586,12 +587,6 @@ struct tlb_args { | |||
586 | unsigned long ta_end; | 587 | unsigned long ta_end; |
587 | }; | 588 | }; |
588 | 589 | ||
589 | /* all SMP configurations have the extended CPUID registers */ | ||
590 | static inline int tlb_ops_need_broadcast(void) | ||
591 | { | ||
592 | return ((read_cpuid_ext(CPUID_EXT_MMFR3) >> 12) & 0xf) < 2; | ||
593 | } | ||
594 | |||
595 | static inline void ipi_flush_tlb_all(void *ignored) | 590 | static inline void ipi_flush_tlb_all(void *ignored) |
596 | { | 591 | { |
597 | local_flush_tlb_all(); | 592 | local_flush_tlb_all(); |