Re: [PATCH v1 1/1] software node: Simplify swnode_register() a bit

From: Greg Kroah-Hartman
Date: Fri Sep 13 2024 - 09:35:23 EST


On Fri, Sep 13, 2024 at 02:05:23PM +0300, Andy Shevchenko wrote:
> By introducing two temporary variables simplify swnode_register() a bit.
> No functional change intended.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> ---
> drivers/base/swnode.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/base/swnode.c b/drivers/base/swnode.c
> index b0be765b12da..810c27a8c9c1 100644
> --- a/drivers/base/swnode.c
> +++ b/drivers/base/swnode.c
> @@ -908,6 +908,7 @@ static struct fwnode_handle *
> swnode_register(const struct software_node *node, struct swnode *parent,
> unsigned int allocated)
> {
> + struct kobject *kobj_parent = parent ? &parent->kobj : NULL;

I despise ?: use just so much, EXCEPT for when it's used in something
like this:

> struct swnode *swnode;
> int ret;
>
> @@ -934,12 +935,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);

Which really is the only valid way I'd put up with it :)

So can you rewrite the change above to be just:

struct kobject *kobj_parent = NULL;

...

if (parent)
kobj_parent = &parent->kobj;

Which is much simpler to read, right?

thanks,

greg k-h