Commit 0b19dde9 authored by Andy Shevchenko's avatar Andy Shevchenko
Browse files

gpiolib: Introduce gpiochip_node_count() helper



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: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Tested-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Acked-by: default avatarBartosz Golaszewski <brgl@bgdev.pl>
parent 85ebb1a6
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -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 */