From: Yasunori Goto Creating sysfs file for node is consolidated as generic code by creating registrer_one_node() and node_devices[]. But, ia64's boot time code remains old sysfs_nodes structure as an arch dependent code. This is to remove it. This patch is for 2.6.17-rc4-mm1 with + register-sysfs-file-for-hotpluged-new-node.patch I tested this on Tiger4 box with my multi nodes emulation. Signed-off-by: Yasunori Goto Cc: Keiichiro Tokunaga Signed-off-by: Andrew Morton --- arch/ia64/kernel/topology.c | 15 +++------------ 1 files changed, 3 insertions(+), 12 deletions(-) diff -puN arch/ia64/kernel/topology.c~register-sysfs-file-for-hotpluged-new-node-fix arch/ia64/kernel/topology.c --- 25/arch/ia64/kernel/topology.c~register-sysfs-file-for-hotpluged-new-node-fix Fri May 19 13:35:26 2006 +++ 25-akpm/arch/ia64/kernel/topology.c Fri May 19 13:35:26 2006 @@ -26,9 +26,6 @@ #include #include -#ifdef CONFIG_NUMA -static struct node *sysfs_nodes; -#endif static struct ia64_cpu *sysfs_cpus; int arch_register_cpu(int num) @@ -36,7 +33,7 @@ int arch_register_cpu(int num) struct node *parent = NULL; #ifdef CONFIG_NUMA - parent = &sysfs_nodes[cpu_to_node(num)]; + parent = &node_devices[cpu_to_node(num)]; #endif /* CONFIG_NUMA */ #if defined (CONFIG_ACPI) && defined (CONFIG_HOTPLUG_CPU) @@ -59,7 +56,7 @@ void arch_unregister_cpu(int num) #ifdef CONFIG_NUMA int node = cpu_to_node(num); - parent = &sysfs_nodes[node]; + parent = &node_devices[node]; #endif /* CONFIG_NUMA */ return unregister_cpu(&sysfs_cpus[num].cpu, parent); @@ -74,17 +71,11 @@ static int __init topology_init(void) int i, err = 0; #ifdef CONFIG_NUMA - sysfs_nodes = kzalloc(sizeof(struct node) * MAX_NUMNODES, GFP_KERNEL); - if (!sysfs_nodes) { - err = -ENOMEM; - goto out; - } - /* * MCD - Do we want to register all ONLINE nodes, or all POSSIBLE nodes? */ for_each_online_node(i) { - if ((err = register_node(&sysfs_nodes[i], i, 0))) + if ((err = register_one_node(i))) goto out; } #endif _