gpiolib: allow to specify the firmware node in struct gpio_chip
authorBartosz Golaszewski <brgl@bgdev.pl>
Mon, 13 Dec 2021 10:16:41 +0000 (11:16 +0100)
committerBartosz Golaszewski <brgl@bgdev.pl>
Fri, 17 Dec 2021 11:26:12 +0000 (12:26 +0100)
commit990f6756bb64756d2d1033118cded6333b43397d
tree67bdb2f335c02ed0b3e2c607f897259138c6129a
parentdd61b29207ca4f346fbd9c06bc49f093e3369185
gpiolib: allow to specify the firmware node in struct gpio_chip

Software nodes allow us to represent hierarchies for device components
that don't have their struct device representation yet - for instance:
banks of GPIOs under a common GPIO expander. The core gpiolib core
however doesn't offer any way of passing this information from the
drivers.

This extends struct gpio_chip with a pointer to fwnode that can be set
by the driver and used to pass device properties for child nodes.

This is similar to how we handle device-tree sub-nodes with
CONFIG_OF_GPIO enabled.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpiolib.c
include/linux/gpio/driver.h