diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-11-30 06:07:35 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-12-20 10:09:10 -0500 |
commit | 3c030beabf937b1d3b4ecaedfd1fb2f1e2aa0c70 (patch) | |
tree | 3cac64838c83ecc2d0d070be268fb087dffd8d4b /arch/arm/mach-realview | |
parent | 2c0136dba4e43b0916ccc9ecc7f11e6d6b73f046 (diff) |
ARM: CPU hotplug: move cpu_killed completion to core code
We always need to wait for the dying CPU to reach a safe state before
taking it down, irrespective of the requirements of the platform.
Move the completion code into the ARM SMP hotplug code rather than
having each platform re-implement this.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-realview')
-rw-r--r-- | arch/arm/mach-realview/hotplug.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/arch/arm/mach-realview/hotplug.c b/arch/arm/mach-realview/hotplug.c index f95521a5e5ce..7d58c16c83a7 100644 --- a/arch/arm/mach-realview/hotplug.c +++ b/arch/arm/mach-realview/hotplug.c | |||
@@ -11,14 +11,11 @@ | |||
11 | #include <linux/kernel.h> | 11 | #include <linux/kernel.h> |
12 | #include <linux/errno.h> | 12 | #include <linux/errno.h> |
13 | #include <linux/smp.h> | 13 | #include <linux/smp.h> |
14 | #include <linux/completion.h> | ||
15 | 14 | ||
16 | #include <asm/cacheflush.h> | 15 | #include <asm/cacheflush.h> |
17 | 16 | ||
18 | extern volatile int pen_release; | 17 | extern volatile int pen_release; |
19 | 18 | ||
20 | static DECLARE_COMPLETION(cpu_killed); | ||
21 | |||
22 | static inline void cpu_enter_lowpower(void) | 19 | static inline void cpu_enter_lowpower(void) |
23 | { | 20 | { |
24 | unsigned int v; | 21 | unsigned int v; |
@@ -95,7 +92,7 @@ static inline void platform_do_lowpower(unsigned int cpu) | |||
95 | 92 | ||
96 | int platform_cpu_kill(unsigned int cpu) | 93 | int platform_cpu_kill(unsigned int cpu) |
97 | { | 94 | { |
98 | return wait_for_completion_timeout(&cpu_killed, 5000); | 95 | return 1; |
99 | } | 96 | } |
100 | 97 | ||
101 | /* | 98 | /* |
@@ -115,9 +112,6 @@ void platform_cpu_die(unsigned int cpu) | |||
115 | } | 112 | } |
116 | #endif | 113 | #endif |
117 | 114 | ||
118 | printk(KERN_NOTICE "CPU%u: shutdown\n", cpu); | ||
119 | complete(&cpu_killed); | ||
120 | |||
121 | /* | 115 | /* |
122 | * we're ready for shutdown now, so do it | 116 | * we're ready for shutdown now, so do it |
123 | */ | 117 | */ |