---
arch/powerpc/platforms/powermac/smp.c | 7 +++++++
1 file changed, 7 insertions(+)
Index: linux-2.6.19-rc1/arch/powerpc/platforms/powermac/smp.c
===================================================================
--- linux-2.6.19-rc1.orig/arch/powerpc/platforms/powermac/smp.c
+++ linux-2.6.19-rc1/arch/powerpc/platforms/powermac/smp.c
@@ -867,7 +867,14 @@ int smp_core99_cpu_disable(void)
return 0;
}
+#if defined(CONFIG_PM) || defined(CONFIG_CPU_FREQ_PMAC)
extern void low_cpu_die(void) __attribute__((noreturn)); /* in sleep.S */
+#else
+void low_cpu_die(void)
+{
+}
+#endif
+
static int cpu_dead[NR_CPUS];
void cpu_die(void)
Srinivasa Ds writes:
> arch/powerpc/platforms/built-in.o: In function `flush_disable_caches':
> (.text+0x96d4): undefined reference to `low_cpu_die'
> ======================================================
> low_cpu_die() is defined under CONFIG_PM || CONFIG_CPU_FREQ_PMAC
> options ,but while calling this function ,no care has been to taken to
> check these options. So please apply this fix,which solves the problem.
Nack. The correct fix is to adjust the ifdefs in sleep.S to make
low_cpu_die available. Otherwise it won't be possible to off-line
CPUs properly.
Paul.
---
arch/powerpc/platforms/powermac/sleep.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: linux-2.6.19-rc2/arch/powerpc/platforms/powermac/sleep.S
===================================================================
--- linux-2.6.19-rc2.orig/arch/powerpc/platforms/powermac/sleep.S
+++ linux-2.6.19-rc2/arch/powerpc/platforms/powermac/sleep.S
@@ -45,7 +45,7 @@
.section .text
.align 5
-#if defined(CONFIG_PM) || defined(CONFIG_CPU_FREQ_PMAC)
+#if defined(CONFIG_PM) || defined(CONFIG_CPU_FREQ_PMAC) || (defined(CONFIG_HOTPLUG_CPU) && defined(CONFIG_PPC32))
/* This gets called by via-pmu.c late during the sleep process.
* The PMU was already send the sleep command and will shut us down