Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drivers/base/node: fold register_node() into register_one_node()

Patch series "drivers/base/node: fold node register and unregister
functions", v2.

The first patch merges register_one_node() and register_node(), leaving a
single register_node() function.

The second patch merges unregister_one_node() and unregister_node(),
leaving a single unregister_node() function.

There are no functional changes in these patches.


This patch (of 2):

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.

[akpm@linux-foundation.org: fix kerneldoc, per David]
Link: https://lkml.kernel.org/r/cover.1760097207.git.donettom@linux.ibm.com
Link: https://lkml.kernel.org/r/910853c9dd61f7a2190a56cba101e73e9c6859be.1760097207.git.donettom@linux.ibm.com
Signed-off-by: Donet Tom <donettom@linux.ibm.com>
Acked-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
Acked-by: SeongJae Park <sj@kernel.org>
Acked-by: David Hildenbrand <david@redhat.com>
Cc: Aboorva Devarajan <aboorvad@linux.ibm.com>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Danilo Krummrich <dakr@kernel.org>
Cc: Dave Jiang <dave.jiang@intel.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Madhavan Srinivasan <maddy@linux.ibm.com>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

authored by

Donet Tom and committed by
Andrew Morton
eb8762dc 900fcf00

+28 -40
+1 -1
arch/powerpc/platforms/pseries/pci_dlpar.c
··· 29 29 nid = of_node_to_nid(dn); 30 30 if (likely((nid) >= 0)) { 31 31 if (!node_online(nid)) { 32 - if (register_one_node(nid)) { 32 + if (register_node(nid)) { 33 33 pr_err("PCI: Failed to register node %d\n", nid); 34 34 } else { 35 35 update_numa_distance(dn);
+2 -2
arch/x86/mm/numa.c
··· 262 262 * bringup_nonboot_cpus 263 263 * cpu_up 264 264 * __try_online_node 265 - * register_one_node 265 + * register_node 266 266 * because node_subsys is not initialized yet. 267 267 * TODO remove dependency on node_online 268 268 */ ··· 303 303 * bringup_nonboot_cpus 304 304 * cpu_up 305 305 * __try_online_node 306 - * register_one_node 306 + * register_node 307 307 * because node_subsys is not initialized yet. 308 308 * TODO remove dependency on node_online 309 309 */
+20 -32
drivers/base/node.c
··· 676 676 kfree(to_node(dev)); 677 677 } 678 678 679 - /* 680 - * register_node - Setup a sysfs device for a node. 681 - * @num - Node number to use when creating the device. 682 - * 683 - * Initialize and register the node device. 684 - */ 685 - static int register_node(struct node *node, int num) 686 - { 687 - int error; 688 - 689 - node->dev.id = num; 690 - node->dev.bus = &node_subsys; 691 - node->dev.release = node_device_release; 692 - node->dev.groups = node_dev_groups; 693 - error = device_register(&node->dev); 694 - 695 - if (error) { 696 - put_device(&node->dev); 697 - } else { 698 - hugetlb_register_node(node); 699 - compaction_register_node(node); 700 - reclaim_register_node(node); 701 - } 702 - 703 - return error; 704 - } 705 - 706 679 /** 707 680 * unregister_node - unregister a node device 708 681 * @node: node going away ··· 880 907 } 881 908 #endif /* CONFIG_MEMORY_HOTPLUG */ 882 909 883 - int register_one_node(int nid) 910 + /** 911 + * register_node - Initialize and register the node device. 912 + * @nid: Node number to use when creating the device. 913 + * 914 + * Return: 0 on success, -errno otherwise 915 + */ 916 + int register_node(int nid) 884 917 { 885 918 int error; 886 919 int cpu; ··· 897 918 return -ENOMEM; 898 919 899 920 INIT_LIST_HEAD(&node->access_list); 900 - node_devices[nid] = node; 901 921 902 - error = register_node(node_devices[nid], nid); 922 + node->dev.id = nid; 923 + node->dev.bus = &node_subsys; 924 + node->dev.release = node_device_release; 925 + node->dev.groups = node_dev_groups; 926 + 927 + error = device_register(&node->dev); 903 928 if (error) { 904 - node_devices[nid] = NULL; 929 + put_device(&node->dev); 905 930 return error; 906 931 } 932 + 933 + node_devices[nid] = node; 934 + hugetlb_register_node(node); 935 + compaction_register_node(node); 936 + reclaim_register_node(node); 907 937 908 938 /* link cpu under this node */ 909 939 for_each_present_cpu(cpu) { ··· 1006 1018 * to already created cpu devices. 1007 1019 */ 1008 1020 for_each_online_node(i) { 1009 - ret = register_one_node(i); 1021 + ret = register_node(i); 1010 1022 if (ret) 1011 1023 panic("%s() failed to add node: %d\n", __func__, ret); 1012 1024 }
+2 -2
include/linux/node.h
··· 176 176 #ifdef CONFIG_NUMA 177 177 extern void node_dev_init(void); 178 178 /* Core of the node registration - only memory hotplug should use this */ 179 - extern int register_one_node(int nid); 179 + int register_node(int nid); 180 180 extern void unregister_one_node(int nid); 181 181 extern int register_cpu_under_node(unsigned int cpu, unsigned int nid); 182 182 extern int unregister_cpu_under_node(unsigned int cpu, unsigned int nid); ··· 189 189 static inline void node_dev_init(void) 190 190 { 191 191 } 192 - static inline int register_one_node(int nid) 192 + static inline int register_node(int nid) 193 193 { 194 194 return 0; 195 195 }
+2 -2
mm/memory_hotplug.c
··· 1311 1311 1312 1312 if (set_node_online) { 1313 1313 node_set_online(nid); 1314 - ret = register_one_node(nid); 1314 + ret = register_node(nid); 1315 1315 BUG_ON(ret); 1316 1316 } 1317 1317 out: ··· 1542 1542 goto error_memblock_remove; 1543 1543 if (ret) { 1544 1544 node_set_online(nid); 1545 - ret = register_one_node(nid); 1545 + ret = register_node(nid); 1546 1546 if (WARN_ON(ret)) { 1547 1547 node_set_offline(nid); 1548 1548 goto error_memblock_remove;
+1 -1
mm/mm_init.c
··· 1909 1909 free_area_init_node(nid); 1910 1910 1911 1911 /* 1912 - * No sysfs hierarchy will be created via register_one_node() 1912 + * No sysfs hierarchy will be created via register_node() 1913 1913 *for memory-less node because here it's not marked as N_MEMORY 1914 1914 *and won't be set online later. The benefit is userspace 1915 1915 *program won't be confused by sysfs files/directories of