diff options
author | Milton Miller <miltonm@bga.com> | 2010-05-18 22:56:29 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2010-05-21 03:31:08 -0400 |
commit | abb17f9c3a92c5acf30e749efdf0419b7f50a5b8 (patch) | |
tree | 8b3999693decdb214c93c567e390afcec93445fe /arch/powerpc/kernel | |
parent | ca5d0674c37840366f04a7bbfbf78e7b5f3ce0a4 (diff) |
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')
-rw-r--r-- | arch/powerpc/kernel/setup_64.c | 6 | ||||
-rw-r--r-- | arch/powerpc/kernel/smp.c | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c index 914389158a9b..cea66987a6ea 100644 --- a/arch/powerpc/kernel/setup_64.c +++ b/arch/powerpc/kernel/setup_64.c | |||
@@ -573,12 +573,6 @@ void ppc64_boot_msg(unsigned int src, const char *msg) | |||
573 | printk("[boot]%04x %s\n", src, msg); | 573 | printk("[boot]%04x %s\n", src, msg); |
574 | } | 574 | } |
575 | 575 | ||
576 | void cpu_die(void) | ||
577 | { | ||
578 | if (ppc_md.cpu_die) | ||
579 | ppc_md.cpu_die(); | ||
580 | } | ||
581 | |||
582 | #ifdef CONFIG_SMP | 576 | #ifdef CONFIG_SMP |
583 | #define PCPU_DYN_SIZE () | 577 | #define PCPU_DYN_SIZE () |
584 | 578 | ||
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c index bf366167d369..5c196d1086d9 100644 --- a/arch/powerpc/kernel/smp.c +++ b/arch/powerpc/kernel/smp.c | |||
@@ -648,4 +648,10 @@ void cpu_hotplug_driver_unlock() | |||
648 | { | 648 | { |
649 | mutex_unlock(&powerpc_cpu_hotplug_driver_mutex); | 649 | mutex_unlock(&powerpc_cpu_hotplug_driver_mutex); |
650 | } | 650 | } |
651 | |||
652 | void cpu_die(void) | ||
653 | { | ||
654 | if (ppc_md.cpu_die) | ||
655 | ppc_md.cpu_die(); | ||
656 | } | ||
651 | #endif | 657 | #endif |