diff options
Diffstat (limited to 'arch/powerpc/kernel/setup_32.c')
-rw-r--r-- | arch/powerpc/kernel/setup_32.c | 14 |
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); | |||
196 | 196 | ||
197 | #endif /* CONFIG_NVRAM */ | 197 | #endif /* CONFIG_NVRAM */ |
198 | 198 | ||
199 | static struct cpu cpu_devices[NR_CPUS]; | 199 | static DEFINE_PER_CPU(struct cpu, cpu_devices); |
200 | 200 | ||
201 | int __init ppc_init(void) | 201 | int __init ppc_init(void) |
202 | { | 202 | { |
203 | int i; | 203 | int cpu; |
204 | 204 | ||
205 | /* clear the progress line */ | 205 | /* clear the progress line */ |
206 | if ( ppc_md.progress ) ppc_md.progress(" ", 0xffff); | 206 | if (ppc_md.progress) |
207 | ppc_md.progress(" ", 0xffff); | ||
207 | 208 | ||
208 | /* register CPU devices */ | 209 | /* register CPU devices */ |
209 | for_each_possible_cpu(i) | 210 | for_each_possible_cpu(cpu) { |
210 | register_cpu(&cpu_devices[i], i); | 211 | struct cpu *c = &per_cpu(cpu_devices, cpu); |
212 | c->hotpluggable = 1; | ||
213 | register_cpu(c, cpu); | ||
214 | } | ||
211 | 215 | ||
212 | /* call platform init */ | 216 | /* call platform init */ |
213 | if (ppc_md.init != NULL) { | 217 | if (ppc_md.init != NULL) { |