Re: [PATCH 1/2] gpio: don't process hogs on disabled nodes
From: Bartosz Golaszewski
Date: Tue Jun 09 2026 - 10:44:52 EST
On Tue, Jun 9, 2026 at 4:16 PM Andy Shevchenko
<andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:
>
> On Tue, Jun 09, 2026 at 02:17:49PM +0200, Bartosz Golaszewski wrote:
> > The core hogging logic uses device_for_each_child_node_scoped(), which
> > iterates over all child firmware nodes without checking their
> > availability. Before the code was moved to the GPIO core, it correctly
> > used for_each_available_child_of_node_scoped() to skip disabled nodes.
> > Check if the node is available and skip it if not.
>
> ...
>
> > device_for_each_child_node_scoped(&gc->gpiodev->dev, fwnode) {
> > - if (!fwnode_property_present(fwnode, "gpio-hog"))
> > + if (!fwnode_device_is_available(fwnode) ||
> > + !fwnode_property_present(fwnode, "gpio-hog"))
> > continue;
>
> Red herring. the device_for_each_child_node*() is already "available".
>
> So, teach Sashiko to stop on this, not the first time...
> https://elixir.bootlin.com/linux/v7.1-rc7/source/drivers/of/property.c#L1132
>
Ah, dang it. Need to look more carefully at sashiko reports. I've seen
many false-positives lately.
Bart