Hi Andy, On Fri, Mar 25, 2022 at 9:04 PM Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > The gpiochip_count() helper iterates over the device child nodes that have > the "gpio-controller" property set. It returns the number of such nodes > under given device. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Thanks for your patch! > --- a/include/linux/gpio/driver.h > +++ b/include/linux/gpio/driver.h > @@ -750,4 +751,17 @@ static inline void gpiochip_unlock_as_irq(struct gpio_chip *gc, > } > #endif /* CONFIG_GPIOLIB */ > > +static inline unsigned int gpiochip_count(struct device *dev) > +{ > + struct fwnode_handle *child; > + unsigned int count = 0; > + > + device_for_each_child_node(dev, child) { > + if (device_property_read_bool(child, "gpio-controller")) error: passing argument 1 of ‘device_property_read_bool’ from incompatible pointer type [-Werror=incompatible-pointer-types] So I'm afraid I cannot test patch 3/5 yet ;-) > + count++; > + } > + > + return count; > +} > + > #endif /* __LINUX_GPIO_DRIVER_H */ Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds