summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGiuliano Pochini2007-03-27 07:40:28 +0200
committerPaul Mackerras2007-04-12 19:55:16 +0200
commit5e41763ae9b4b6335fab88da85600f16d7a5a7b5 (patch)
treec624b71411c709b53cd7c5773924f282e636c645
parent[POWERPC] Remove unused header file: arch/ppc/syslib/cpc710.h. (diff)
downloadkernel-qcow2-linux-5e41763ae9b4b6335fab88da85600f16d7a5a7b5.tar.gz
kernel-qcow2-linux-5e41763ae9b4b6335fab88da85600f16d7a5a7b5.tar.xz
kernel-qcow2-linux-5e41763ae9b4b6335fab88da85600f16d7a5a7b5.zip
[POWERPC] Fix breakage caused by 72486f1f8f0a2bc828b9d30cf4690cf2dd6807fc
72486f1f8f0a2bc828b9d30cf4690cf2dd6807fc inverted the sense for enabling hotplug CPU controls without reference to any other architecture other than i386, ia64 and PowerPC. This left everyone else without hotplug CPU control. Fix powerpc for this brain damage. (akpm: patch adapted from rmk's ARM fix. Changelog stolen from rmk) Signed-off-by: Giuliano Pochini <pochini@shiny.it> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r--arch/powerpc/kernel/setup_32.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/arch/powerpc/kernel/setup_32.c b/arch/powerpc/kernel/setup_32.c
index f688548f74cd..35f8f443c14f 100644
--- a/arch/powerpc/kernel/setup_32.c
+++ b/arch/powerpc/kernel/setup_32.c
@@ -196,18 +196,22 @@ EXPORT_SYMBOL(nvram_sync);
#endif /* CONFIG_NVRAM */
-static struct cpu cpu_devices[NR_CPUS];
+static DEFINE_PER_CPU(struct cpu, cpu_devices);
int __init ppc_init(void)
{
- int i;
+ int cpu;
/* clear the progress line */
- if ( ppc_md.progress ) ppc_md.progress(" ", 0xffff);
+ if (ppc_md.progress)
+ ppc_md.progress(" ", 0xffff);
/* register CPU devices */
- for_each_possible_cpu(i)
- register_cpu(&cpu_devices[i], i);
+ for_each_possible_cpu(cpu) {
+ struct cpu *c = &per_cpu(cpu_devices, cpu);
+ c->hotpluggable = 1;
+ register_cpu(c, cpu);
+ }
/* call platform init */
if (ppc_md.init != NULL) {