Message ID | 20210327222012.54103-6-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | [v1,1/8] software node: Free resources explicitly when swnode_register() fails | expand |
On Sun, Mar 28, 2021 at 12:20:10AM +0200, Andy Shevchenko wrote: > By introducing two temporary variables simplify swnode_register() a bit. > No functional change intended. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > --- > drivers/base/swnode.c | 11 +++++------ > 1 file changed, 5 insertions(+), 6 deletions(-) > > diff --git a/drivers/base/swnode.c b/drivers/base/swnode.c > index ae53c48f84b1..1e81aaf5f6a1 100644 > --- a/drivers/base/swnode.c > +++ b/drivers/base/swnode.c > @@ -894,6 +894,8 @@ static struct fwnode_handle * > swnode_register(const struct software_node *node, struct swnode *parent, > unsigned int allocated) > { > + struct ida *ids = parent ? &parent->child_ids : &swnode_root_ids; > + struct kobject *kobj_parent = parent ? &parent->kobj : NULL; ?: operations are horrid. Please spell this out in real if statements so that we can properly understand and maintain them for the next 20+ years. thanks, greg k-h
On Sun, Mar 28, 2021 at 11:48 AM Greg Kroah-Hartman <gregkh@linuxfoundation.org> wrote: > > On Sun, Mar 28, 2021 at 12:20:10AM +0200, Andy Shevchenko wrote: > > By introducing two temporary variables simplify swnode_register() a bit. > > No functional change intended. > > > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > > --- > > drivers/base/swnode.c | 11 +++++------ > > 1 file changed, 5 insertions(+), 6 deletions(-) > > > > diff --git a/drivers/base/swnode.c b/drivers/base/swnode.c > > index ae53c48f84b1..1e81aaf5f6a1 100644 > > --- a/drivers/base/swnode.c > > +++ b/drivers/base/swnode.c > > @@ -894,6 +894,8 @@ static struct fwnode_handle * > > swnode_register(const struct software_node *node, struct swnode *parent, > > unsigned int allocated) > > { > > + struct ida *ids = parent ? &parent->child_ids : &swnode_root_ids; > > + struct kobject *kobj_parent = parent ? &parent->kobj : NULL; > > ?: operations are horrid. Please spell this out in real if statements > so that we can properly understand and maintain them for the next 20+ > years. Will do, thanks! -- With Best Regards, Andy Shevchenko
diff --git a/drivers/base/swnode.c b/drivers/base/swnode.c index ae53c48f84b1..1e81aaf5f6a1 100644 --- a/drivers/base/swnode.c +++ b/drivers/base/swnode.c @@ -894,6 +894,8 @@ static struct fwnode_handle * swnode_register(const struct software_node *node, struct swnode *parent, unsigned int allocated) { + struct ida *ids = parent ? &parent->child_ids : &swnode_root_ids; + struct kobject *kobj_parent = parent ? &parent->kobj : NULL; struct swnode *swnode; int ret; @@ -901,8 +903,7 @@ swnode_register(const struct software_node *node, struct swnode *parent, if (!swnode) return ERR_PTR(-ENOMEM); - ret = ida_simple_get(parent ? &parent->child_ids : &swnode_root_ids, - 0, 0, GFP_KERNEL); + ret = ida_simple_get(ids, 0, 0, GFP_KERNEL); if (ret < 0) { kfree(swnode); return ERR_PTR(ret); @@ -920,12 +921,10 @@ swnode_register(const struct software_node *node, struct swnode *parent, if (node->name) ret = kobject_init_and_add(&swnode->kobj, &software_node_type, - parent ? &parent->kobj : NULL, - "%s", node->name); + kobj_parent, "%s", node->name); else ret = kobject_init_and_add(&swnode->kobj, &software_node_type, - parent ? &parent->kobj : NULL, - "node%d", swnode->id); + kobj_parent, "node%d", swnode->id); if (ret) { kobject_put(&swnode->kobj); return ERR_PTR(ret);
By introducing two temporary variables simplify swnode_register() a bit. No functional change intended. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- drivers/base/swnode.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)