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

drivers/base/node: fold unregister_node() into unregister_one_node()

unregister_node() is only called from unregister_one_node(). This patch
folds unregister_node() into its only caller and renames
unregister_one_node() to unregister_node().

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

[donettom@linux.ibm.com: remove extra spaces before @nid and "All"]
Link: https://lkml.kernel.org/r/cff01514-9074-4c97-bcf1-d4e3594e48b0@linux.ibm.com
Link: https://lkml.kernel.org/r/32b7d5d8f0f30d313c3e1d8798f591459c8746f9.1760097208.git.donettom@linux.ibm.com
Signed-off-by: Donet Tom <donettom@linux.ibm.com>
Acked-by: David Hildenbrand <david@redhat.com>
Acked-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
Acked-by: SeongJae Park <sj@kernel.org>
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: 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
d945667d eb8762dc

+21 -27
+17 -21
drivers/base/node.c
··· 676 676 kfree(to_node(dev)); 677 677 } 678 678 679 - /** 680 - * unregister_node - unregister a node device 681 - * @node: node going away 682 - * 683 - * Unregisters a node device @node. All the devices on the node must be 684 - * unregistered before calling this function. 685 - */ 686 - void unregister_node(struct node *node) 687 - { 688 - hugetlb_unregister_node(node); 689 - compaction_unregister_node(node); 690 - reclaim_unregister_node(node); 691 - node_remove_accesses(node); 692 - node_remove_caches(node); 693 - device_unregister(&node->dev); 694 - } 695 - 696 679 struct node *node_devices[MAX_NUMNODES]; 697 680 698 681 /* ··· 907 924 908 925 return error; 909 926 } 910 - 911 - void unregister_one_node(int nid) 927 + /** 928 + * unregister_node - unregister a node device 929 + * @nid: nid of the node going away 930 + * 931 + * Unregisters the node device at node id @nid. All the devices on the 932 + * node must be unregistered before calling this function. 933 + */ 934 + void unregister_node(int nid) 912 935 { 913 - if (!node_devices[nid]) 936 + struct node *node = node_devices[nid]; 937 + 938 + if (!node) 914 939 return; 915 940 916 - unregister_node(node_devices[nid]); 941 + hugetlb_unregister_node(node); 942 + compaction_unregister_node(node); 943 + reclaim_unregister_node(node); 944 + node_remove_accesses(node); 945 + node_remove_caches(node); 946 + device_unregister(&node->dev); 917 947 node_devices[nid] = NULL; 918 948 } 919 949
+2 -4
include/linux/node.h
··· 132 132 } 133 133 #endif 134 134 135 - extern void unregister_node(struct node *node); 136 - 137 135 struct node_notify { 138 136 int nid; 139 137 }; ··· 175 177 extern void node_dev_init(void); 176 178 /* Core of the node registration - only memory hotplug should use this */ 177 179 int register_node(int nid); 178 - extern void unregister_one_node(int nid); 180 + void unregister_node(int nid); 179 181 extern int register_cpu_under_node(unsigned int cpu, unsigned int nid); 180 182 extern int unregister_cpu_under_node(unsigned int cpu, unsigned int nid); 181 183 extern void unregister_memory_block_under_nodes(struct memory_block *mem_blk); ··· 191 193 { 192 194 return 0; 193 195 } 194 - static inline int unregister_one_node(int nid) 196 + static inline int unregister_node(int nid) 195 197 { 196 198 return 0; 197 199 }
+2 -2
mm/memory_hotplug.c
··· 1596 1596 error: 1597 1597 if (new_node) { 1598 1598 node_set_offline(nid); 1599 - unregister_one_node(nid); 1599 + unregister_node(nid); 1600 1600 } 1601 1601 error_memblock_remove: 1602 1602 if (IS_ENABLED(CONFIG_ARCH_KEEP_MEMBLOCK)) ··· 2201 2201 * node now. 2202 2202 */ 2203 2203 node_set_offline(nid); 2204 - unregister_one_node(nid); 2204 + unregister_node(nid); 2205 2205 } 2206 2206 EXPORT_SYMBOL(try_offline_node); 2207 2207