On Fri, Apr 1, 2022 at 12:36 PM Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > > The gpiochip_node_count() helper iterates over the device child nodes that > have the "gpio-controller" property set. It returns the number of such nodes > under a given device. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > --- > include/linux/gpio/driver.h | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/include/linux/gpio/driver.h b/include/linux/gpio/driver.h > index bfc91f122d5f..12de0b22b4ef 100644 > --- a/include/linux/gpio/driver.h > +++ b/include/linux/gpio/driver.h > @@ -755,4 +755,15 @@ static inline void gpiochip_unlock_as_irq(struct gpio_chip *gc, > device_for_each_child_node(dev, child) \ > if (!fwnode_property_present(child, "gpio-controller")) {} else > > +static inline unsigned int gpiochip_node_count(struct device *dev) > +{ > + struct fwnode_handle *child; > + unsigned int count = 0; > + > + for_each_gpiochip_node(dev, child) > + count++; > + > + return count; > +} > + > #endif /* __LINUX_GPIO_DRIVER_H */ > -- > 2.35.1 > Acked-by: Bartosz Golaszewski <brgl@xxxxxxxx>