On Fri, Apr 1, 2022 at 12:36 PM Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > > Introduce for_each_gpiochip_node() loop helper which iterates over > the GPIO controller child nodes of 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 | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/include/linux/gpio/driver.h b/include/linux/gpio/driver.h > index 98c93510640e..bfc91f122d5f 100644 > --- a/include/linux/gpio/driver.h > +++ b/include/linux/gpio/driver.h > @@ -3,13 +3,14 @@ > #define __LINUX_GPIO_DRIVER_H > > #include <linux/device.h> > -#include <linux/types.h> > #include <linux/irq.h> > #include <linux/irqchip/chained_irq.h> > #include <linux/irqdomain.h> > #include <linux/lockdep.h> > #include <linux/pinctrl/pinctrl.h> > #include <linux/pinctrl/pinconf-generic.h> > +#include <linux/property.h> > +#include <linux/types.h> > > struct gpio_desc; > struct of_phandle_args; > @@ -750,4 +751,8 @@ static inline void gpiochip_unlock_as_irq(struct gpio_chip *gc, > } > #endif /* CONFIG_GPIOLIB */ > > +#define for_each_gpiochip_node(dev, child) \ > + device_for_each_child_node(dev, child) \ > + if (!fwnode_property_present(child, "gpio-controller")) {} else > + > #endif /* __LINUX_GPIO_DRIVER_H */ > -- > 2.35.1 > Acked-by: Bartosz Golaszewski <brgl@xxxxxxxx>