mirror of https://github.com/torvalds/linux.git
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>
This commit is contained in:
parent
900fcf00e1
commit
eb8762dc22
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue