Re: [PATCH] gpiolib: use of_node_name if line-name is missing

From: Andy Shevchenko

Date: Thu Sep 17 2026 - 10:36:32 EST


On Thu, Sep 17, 2026 at 04:37:57PM +0300, Andy Shevchenko wrote:
> On Thu, Sep 17, 2026 at 03:20:49PM +0200, Frank Wunderlich (linux) wrote:
> > Am 2026-09-17 15:00, schrieb Andy Shevchenko:
> > > On Thu, Sep 17, 2026 at 02:28:13PM +0200, Frank Wunderlich wrote:

...

> > > > int gpiochip_add_hog(struct gpio_chip *gc, struct fwnode_handle
> > > > *fwnode)
> > >
> > > > fwnode_property_read_string(fwnode, "line-name", &name);
> > > >
> > > > + if (!name && is_of_node(fwnode))
> > > > + name = to_of_node(fwnode)->name;
> > >
> > > Can we move it inside the loop? Yes, I understand that it will be
> > > unnecessarily
> > > called more times than required, but gpiod_hog() is called anyway in the
> > > loop,
> > > so I don't think it will be a big deal. With that it will allow to group
> > > OF-specific code in one location.
> > >
> > > > for (unsigned int i = 0; i < num_hogs; i++) {
> > > > if (is_of_node(fwnode)) {
> > >
> > > ...somewhere inside this conditional...
> > >
> > > > /*
> >
> > I'm not sure what you want to achieve here (maybe only to have the
> > is_of_node-condition once?, as the loop imho is only for enumerating
> > multiple gpio (like "gpios = <3 0>, <4 0>;") inside one hog of_node.
>
> The primary goal is stop spreading OF-specific code. If you have noticed the
> function was also rewritten (during the move) to be fwnode agnostic, but that
> was not feasible by 100%, the leftover is collected inside the mentioned loop.
> That's why I really prefer to keep all OF code there.
>
> > Here the node-name will never change (like the line-name above) and read-once
> > is correct.
> > But while looking at the code i also thought about these multi-gpio-hogs
> > (label and output-X). Imho here something like the gpio-controllers
> > "line-names" would make sense as well as something similar for the output
> > (or just handling this with the GPIO_ACTIVE_HIGH/LOW param).
> >
> > But if you think the part should be moved into the loop, that's no big deal.
>
> Yes, I think that way.

Btw, while doing that, also add a comment explaining why (like we have now for
the OF flag translations).

--
With Best Regards,
Andy Shevchenko