... initializes local parameters "p_node" & "parent" for register_node().
But, register_node() does not use them. Remove the related code of "parent" node, cleanup register_one_node() and register_node(). [Test in Qemu by 4 hotpluggable nodes in x86-64 system] Signed-off-by: Dou Liyang <douly.f...@cn.fujitsu.com> --- drivers/base/node.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/drivers/base/node.c b/drivers/base/node.c index 5548f96..ea6e70ba 100644 --- a/drivers/base/node.c +++ b/drivers/base/node.c @@ -288,7 +288,7 @@ static void node_device_release(struct device *dev) * * Initialize and register the node device. */ -static int register_node(struct node *node, int num, struct node *parent) +static int register_node(struct node *node, int num) { int error; @@ -582,17 +582,11 @@ int register_one_node(int nid) int cpu; if (node_online(nid)) { - int p_node = parent_node(nid); - struct node *parent = NULL; - - if (p_node != nid) - parent = node_devices[p_node]; - node_devices[nid] = kzalloc(sizeof(struct node), GFP_KERNEL); if (!node_devices[nid]) return -ENOMEM; - error = register_node(node_devices[nid], nid, parent); + error = register_node(node_devices[nid], nid); /* link cpu under this node */ for_each_present_cpu(cpu) { -- 2.5.5