Re: [PATCH 1/2] gpio: don't process hogs on disabled nodes

From: Andy Shevchenko

Date: Tue Jun 09 2026 - 10:26:17 EST


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

--
With Best Regards,
Andy Shevchenko