aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/smp.c
diff options
context:
space:
mode:
authorMilton Miller <miltonm@bga.com>2010-05-19 02:56:29 +0000
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2010-05-21 17:31:08 +1000
commitabb17f9c3a92c5acf30e749efdf0419b7f50a5b8 (patch)
tree8b3999693decdb214c93c567e390afcec93445fe /arch/powerpc/kernel/smp.c
parentca5d0674c37840366f04a7bbfbf78e7b5f3ce0a4 (diff)
downloadkernel_samsung_smdk4412-abb17f9c3a92c5acf30e749efdf0419b7f50a5b8.zip
kernel_samsung_smdk4412-abb17f9c3a92c5acf30e749efdf0419b7f50a5b8.tar.gz
kernel_samsung_smdk4412-abb17f9c3a92c5acf30e749efdf0419b7f50a5b8.tar.bz2
powerpc: Use common cpu_die (fixes SMP+SUSPEND build)
Configuring a powerpc 32 bit kernel for both SMP and SUSPEND turns on CPU_HOTPLUG to enable disable_nonboot_cpus to be called by the common suspend code. Previously the definition of cpu_die for ppc32 was in the powermac platform code, causing it to be undefined if that platform as not selected. arch/powerpc/kernel/built-in.o: In function 'cpu_idle': arch/powerpc/kernel/idle.c:98: undefined reference to 'cpu_die' Move the code from setup_64 to smp.c and rename the power mac versions to their specific names. Note that this does not setup the cpu_die pointers in either smp_ops (request a given cpu die) or ppc_md (make this cpu die), for other platforms but there are generic versions in smp.c. Reported-by: Matt Sealey <matt@genesi-usa.com> Reported-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Anton Vorontsov <avorontsov@mvista.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel/smp.c')
-rw-r--r--arch/powerpc/kernel/smp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
index bf36616..5c196d1 100644
--- a/arch/powerpc/kernel/smp.c
+++ b/arch/powerpc/kernel/smp.c
@@ -648,4 +648,10 @@ void cpu_hotplug_driver_unlock()
{
mutex_unlock(&powerpc_cpu_hotplug_driver_mutex);
}
+
+void cpu_die(void)
+{
+ if (ppc_md.cpu_die)
+ ppc_md.cpu_die();
+}
#endif