The function register_node() is only called from register_one_node().
This patch folds register_node() into its only caller and renames
register_one_node() to register_node().

This reduces unnecessary indirection and simplifies the code structure.
No functional changes are introduced.

Acked-by: Mike Rapoport (Microsoft) <[email protected]>
Signed-off-by: Donet Tom <[email protected]>
---
 arch/powerpc/platforms/pseries/pci_dlpar.c |  2 +-
 arch/x86/mm/numa.c                         |  4 +-
 drivers/base/node.c                        | 52 +++++++++-------------
 include/linux/node.h                       |  4 +-
 mm/memory_hotplug.c                        |  4 +-
 mm/mm_init.c                               |  2 +-
 6 files changed, 28 insertions(+), 40 deletions(-)

diff --git a/arch/powerpc/platforms/pseries/pci_dlpar.c 
b/arch/powerpc/platforms/pseries/pci_dlpar.c
index aeb8633a3d00..8c77ec7980de 100644
--- a/arch/powerpc/platforms/pseries/pci_dlpar.c
+++ b/arch/powerpc/platforms/pseries/pci_dlpar.c
@@ -29,7 +29,7 @@ struct pci_controller *init_phb_dynamic(struct device_node 
*dn)
        nid = of_node_to_nid(dn);
        if (likely((nid) >= 0)) {
                if (!node_online(nid)) {
-                       if (register_one_node(nid)) {
+                       if (register_node(nid)) {
                                pr_err("PCI: Failed to register node %d\n", 
nid);
                        } else {
                                update_numa_distance(dn);
diff --git a/arch/x86/mm/numa.c b/arch/x86/mm/numa.c
index c24890c40138..7a97327140df 100644
--- a/arch/x86/mm/numa.c
+++ b/arch/x86/mm/numa.c
@@ -262,7 +262,7 @@ void __init init_gi_nodes(void)
         * bringup_nonboot_cpus
         *  cpu_up
         *   __try_online_node
-        *    register_one_node
+        *    register_node
         * because node_subsys is not initialized yet.
         * TODO remove dependency on node_online
         */
@@ -303,7 +303,7 @@ void __init init_cpu_to_node(void)
                 * bringup_nonboot_cpus
                 *  cpu_up
                 *   __try_online_node
-                *    register_one_node
+                *    register_node
                 * because node_subsys is not initialized yet.
                 * TODO remove dependency on node_online
                 */
diff --git a/drivers/base/node.c b/drivers/base/node.c
index 83aeb0518e1d..4bcaa8006cd6 100644
--- a/drivers/base/node.c
+++ b/drivers/base/node.c
@@ -676,33 +676,6 @@ static void node_device_release(struct device *dev)
        kfree(to_node(dev));
 }
 
-/*
- * register_node - Setup a sysfs device for a node.
- * @num - Node number to use when creating the device.
- *
- * Initialize and register the node device.
- */
-static int register_node(struct node *node, int num)
-{
-       int error;
-
-       node->dev.id = num;
-       node->dev.bus = &node_subsys;
-       node->dev.release = node_device_release;
-       node->dev.groups = node_dev_groups;
-       error = device_register(&node->dev);
-
-       if (error) {
-               put_device(&node->dev);
-       } else {
-               hugetlb_register_node(node);
-               compaction_register_node(node);
-               reclaim_register_node(node);
-       }
-
-       return error;
-}
-
 /**
  * unregister_node - unregister a node device
  * @node: node going away
@@ -907,7 +880,13 @@ void register_memory_blocks_under_node_hotplug(int nid, 
unsigned long start_pfn,
 }
 #endif /* CONFIG_MEMORY_HOTPLUG */
 
-int register_one_node(int nid)
+/**
+ * register_node - Initialize and register the node device.
+ * @nid - Node number to use when creating the device.
+ *
+ * Return: 0 on success, -errno otherwise
+ */
+int register_node(int nid)
 {
        int error;
        int cpu;
@@ -918,14 +897,23 @@ int register_one_node(int nid)
                return -ENOMEM;
 
        INIT_LIST_HEAD(&node->access_list);
-       node_devices[nid] = node;
 
-       error = register_node(node_devices[nid], nid);
+       node->dev.id = nid;
+       node->dev.bus = &node_subsys;
+       node->dev.release = node_device_release;
+       node->dev.groups = node_dev_groups;
+
+       error = device_register(&node->dev);
        if (error) {
-               node_devices[nid] = NULL;
+               put_device(&node->dev);
                return error;
        }
 
+       node_devices[nid] = node;
+       hugetlb_register_node(node);
+       compaction_register_node(node);
+       reclaim_register_node(node);
+
        /* link cpu under this node */
        for_each_present_cpu(cpu) {
                if (cpu_to_node(cpu) == nid)
@@ -1018,7 +1006,7 @@ void __init node_dev_init(void)
         * to already created cpu devices.
         */
        for_each_online_node(i) {
-               ret =  register_one_node(i);
+               ret =  register_node(i);
                if (ret)
                        panic("%s() failed to add node: %d\n", __func__, ret);
        }
diff --git a/include/linux/node.h b/include/linux/node.h
index 866e3323f1fd..b7028d3ec3b4 100644
--- a/include/linux/node.h
+++ b/include/linux/node.h
@@ -176,7 +176,7 @@ static inline int hotplug_node_notifier(notifier_fn_t fn, 
int pri)
 #ifdef CONFIG_NUMA
 extern void node_dev_init(void);
 /* Core of the node registration - only memory hotplug should use this */
-extern int register_one_node(int nid);
+int register_node(int nid);
 extern void unregister_one_node(int nid);
 extern int register_cpu_under_node(unsigned int cpu, unsigned int nid);
 extern int unregister_cpu_under_node(unsigned int cpu, unsigned int nid);
@@ -189,7 +189,7 @@ extern int register_memory_node_under_compute_node(unsigned 
int mem_nid,
 static inline void node_dev_init(void)
 {
 }
-static inline int register_one_node(int nid)
+static inline int register_node(int nid)
 {
        return 0;
 }
diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
index 0be83039c3b5..6c050d867031 100644
--- a/mm/memory_hotplug.c
+++ b/mm/memory_hotplug.c
@@ -1311,7 +1311,7 @@ static int __try_online_node(int nid, bool 
set_node_online)
 
        if (set_node_online) {
                node_set_online(nid);
-               ret = register_one_node(nid);
+               ret = register_node(nid);
                BUG_ON(ret);
        }
 out:
@@ -1542,7 +1542,7 @@ int add_memory_resource(int nid, struct resource *res, 
mhp_t mhp_flags)
                goto error_memblock_remove;
        if (ret) {
                node_set_online(nid);
-               ret = register_one_node(nid);
+               ret = register_node(nid);
                if (WARN_ON(ret)) {
                        node_set_offline(nid);
                        goto error_memblock_remove;
diff --git a/mm/mm_init.c b/mm/mm_init.c
index 3db2dea7db4c..d9ef05c4dc5b 100644
--- a/mm/mm_init.c
+++ b/mm/mm_init.c
@@ -1909,7 +1909,7 @@ void __init free_area_init(unsigned long *max_zone_pfn)
                free_area_init_node(nid);
 
                /*
-                * No sysfs hierarchy will be created via register_one_node()
+                * No sysfs hierarchy will be created via register_node()
                 *for memory-less node because here it's not marked as N_MEMORY
                 *and won't be set online later. The benefit is userspace
                 *program won't be confused by sysfs files/directories of
-- 
2.47.1


Reply via email to