2006-10-13 10:19:54

by Srinivasa Ds

[permalink] [raw]
Subject: [PATCH] 2.6.19-rc1: Fix build breakage with CONFIG_PPC32

---
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)


Attachments:
low_cpu_die.fix (648.00 B)

2006-10-16 09:43:52

by Paul Mackerras

[permalink] [raw]
Subject: Re: [PATCH] 2.6.19-rc1: Fix build breakage with CONFIG_PPC32

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.

2006-10-18 11:44:39

by Srinivasa Ds

[permalink] [raw]
Subject: Re: [PATCH] 2.6.19-rc1: Fix build breakage with CONFIG_PPC32

---
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


Attachments:
low_cpu_die.fix (718.00 B)