diff options
author | Wolfram Sang <wsa@the-dreams.de> | 2020-03-26 12:09:58 +0100 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2020-03-26 12:09:58 +0100 |
commit | 6d7e0a34206d4a5d0c619c0608eae57f4c557064 (patch) | |
tree | 8024562a9ba37065989414731f5132b3dcc67012 /drivers/base/swnode.c | |
parent | 90224e6468e15d5eb22a10ae1849cf8ca2e7360a (diff) | |
parent | 16fbf79b0f83bc752cee8589279f1ebfe57b3b6e (diff) |
Merge tag 'v5.6-rc7' into i2c/for-5.7
Linux 5.6-rc7
Diffstat (limited to 'drivers/base/swnode.c')
-rw-r--r-- | drivers/base/swnode.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/base/swnode.c b/drivers/base/swnode.c index 0b081dee1e95..de8d3543e8fe 100644 --- a/drivers/base/swnode.c +++ b/drivers/base/swnode.c @@ -608,6 +608,13 @@ static void software_node_release(struct kobject *kobj) { struct swnode *swnode = kobj_to_swnode(kobj); + if (swnode->parent) { + ida_simple_remove(&swnode->parent->child_ids, swnode->id); + list_del(&swnode->entry); + } else { + ida_simple_remove(&swnode_root_ids, swnode->id); + } + if (swnode->allocated) { property_entries_free(swnode->node->properties); kfree(swnode->node); @@ -773,13 +780,6 @@ void fwnode_remove_software_node(struct fwnode_handle *fwnode) if (!swnode) return; - if (swnode->parent) { - ida_simple_remove(&swnode->parent->child_ids, swnode->id); - list_del(&swnode->entry); - } else { - ida_simple_remove(&swnode_root_ids, swnode->id); - } - kobject_put(&swnode->kobj); } EXPORT_SYMBOL_GPL(fwnode_remove_software_node); |