This is to create sysfs file for new node. It adds arch specific functions 'arch_register_node()' and 'arch_unregister_node()' to IA64 to call the generic function 'register_node()' and 'unregister_node()' respectively. Signed-off-by: Keiichiro Tokunaga <tokuanga.keiich@xxxxxxxxxxxxxx> Signed-off-by: Yasunori Goto <y-goto@xxxxxxxxxxxxxx> arch/ia64/kernel/topology.c | 15 +++++++++++++++ include/linux/node.h | 2 ++ 2 files changed, 17 insertions(+) Index: pgdat8/arch/ia64/kernel/topology.c =================================================================== --- pgdat8.orig/arch/ia64/kernel/topology.c 2006-03-16 16:04:54.000000000 +0900 +++ pgdat8/arch/ia64/kernel/topology.c 2006-03-16 16:06:27.000000000 +0900 @@ -65,6 +65,21 @@ EXPORT_SYMBOL(arch_register_cpu); EXPORT_SYMBOL(arch_unregister_cpu); #endif /*CONFIG_HOTPLUG_CPU*/ +#ifdef CONFIG_NUMA +int arch_register_node(int num) +{ + if (sysfs_nodes[num].sysdev.id == num) + return 0; + + return register_node(&sysfs_nodes[num], num, 0); +} + +void arch_unregister_node(int num) +{ + unregister_node(&sysfs_nodes[num]); + sysfs_nodes[num].sysdev.id = -1; +} +#endif static int __init topology_init(void) { Index: pgdat8/include/linux/node.h =================================================================== --- pgdat8.orig/include/linux/node.h 2006-03-16 16:04:54.000000000 +0900 +++ pgdat8/include/linux/node.h 2006-03-16 16:06:27.000000000 +0900 @@ -28,6 +28,8 @@ struct node { extern int register_node(struct node *, int, struct node *); extern void unregister_node(struct node *node); +extern int arch_register_node(int num); +extern void arch_unregister_node(int num); #define to_node(sys_device) container_of(sys_device, struct node, sysdev) -- Yasunori Goto - : send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |