Message ID | 20220329152926.50958-3-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Series | gpiolib: Two new helpers and way toward fwnode | expand |
Hi Andy, On Tue, Mar 29, 2022 at 5:29 PM Andy Shevchenko <andriy.shevchenko@linux.intel.com> 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@linux.intel.com> Thanks for your patch! > --- a/include/linux/gpio/driver.h > +++ b/include/linux/gpio/driver.h > @@ -755,4 +755,16 @@ 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; Preinitialize to zero? > + > + count = 0; > + for_each_gpiochip_node(dev, child) > + count++; > + > + return count; > +} > + > #endif /* __LINUX_GPIO_DRIVER_H */ Regardless: Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Tested-by: Geert Uytterhoeven <geert+renesas@glider.be> Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org 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
On Wed, Mar 30, 2022 at 12:02:07PM +0200, Geert Uytterhoeven wrote: > On Tue, Mar 29, 2022 at 5:29 PM Andy Shevchenko > <andriy.shevchenko@linux.intel.com> wrote: ... > > + unsigned int count; > > Preinitialize to zero? Whatever for what consensus will be achieved. Initially I have that way, then I changed. > > + count = 0; > > + for_each_gpiochip_node(dev, child) > > + count++; > > Regardless: > Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> > Tested-by: Geert Uytterhoeven <geert+renesas@glider.be> Thanks!
diff --git a/include/linux/gpio/driver.h b/include/linux/gpio/driver.h index e6b9c17614ef..bc2ea9f65022 100644 --- a/include/linux/gpio/driver.h +++ b/include/linux/gpio/driver.h @@ -755,4 +755,16 @@ 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; + + count = 0; + for_each_gpiochip_node(dev, child) + count++; + + return count; +} + #endif /* __LINUX_GPIO_DRIVER_H */
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@linux.intel.com> --- include/linux/gpio/driver.h | 12 ++++++++++++ 1 file changed, 12 insertions(+)