summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2006-07-08 01:07:40 +0200
committerRalf Baechle <ralf@linux-mips.org>2006-10-09 23:20:46 +0100
commit0e8f8f54c1537d22eb0168622a5f6aef4040da6a (patch)
tree47c636803f431d35fcfc77979b3331ac6e6d0943 /arch
parent18965513fdc3af976f000f231ee216500d707c11 (diff)
downloadlinux-3.10-0e8f8f54c1537d22eb0168622a5f6aef4040da6a.tar.gz
linux-3.10-0e8f8f54c1537d22eb0168622a5f6aef4040da6a.tar.bz2
linux-3.10-0e8f8f54c1537d22eb0168622a5f6aef4040da6a.zip
[MIPS] NUMA: Register all nodes before cpus or sysfs will barf.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/mips/kernel/smp.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c
index 221895802dc..1af3612a1ce 100644
--- a/arch/mips/kernel/smp.c
+++ b/arch/mips/kernel/smp.c
@@ -467,14 +467,18 @@ static DEFINE_PER_CPU(struct cpu, cpu_devices);
static int __init topology_init(void)
{
- int cpu;
- int ret;
+ int i, ret;
- for_each_present_cpu(cpu) {
- ret = register_cpu(&per_cpu(cpu_devices, cpu), cpu);
+#ifdef CONFIG_NUMA
+ for_each_online_node(i)
+ register_one_node(i);
+#endif /* CONFIG_NUMA */
+
+ for_each_present_cpu(i) {
+ ret = register_cpu(&per_cpu(cpu_devices, i), i);
if (ret)
printk(KERN_WARNING "topology_init: register_cpu %d "
- "failed (%d)\n", cpu, ret);
+ "failed (%d)\n", i, ret);
}
return 0;