[PATCH 00/11] gpiolib: add support for OF GPIO configuration binding
Ahmad Fatoum
a.fatoum at pengutronix.de
Fri Aug 9 07:23:54 PDT 2024
So far, GPIO bias configuration was done exclusively by pinctrl drivers.
All barebox pinctrl drivers work by consuming a device tree node with
a binding that differs from driver to driver and then applying the
configuration described within.
Neither GPIO or pinctrl node have any insight on what in particular is
being configured.
This is problematic when wanting to support following device tree
binding, which is so far being ignored:
gpios = <&gpioe 7 (GPIO_ACTIVE_LOW | GPIO_PULL_DOWN)>;
This series enables support for this binding for gpio-keys on STM32
platforms. More support will follow in future when providers are
extended to support the gpio_ops::set_config operation and consumers are
switched to use the GPIO descriptor API.
Ahmad Fatoum (11):
gpio: make gpio.h header self-contained
gpiolib: permit GPIO drivers to implement struct gpio_ops::set_config
pinctrl: stm32: implement generic struct gpio_ops::set_config
gpiolib: turn request/active_low into bit flags
gpiolib: don't use GPIO number API in of_hog_gpio
gpiolib: store all OF flags into GPIO descriptor
gpiolib: add support for OF GPIO configuration binding
gpiolib: use dev_gpiod_get_index device node argument throughout
gpiolib: export function to get struct gpio_desc from index
input: gpio_keys: switch to GPIO descriptor API
input: gpio-keys: request with label in DT if available
drivers/gpio/Kconfig | 14 ++
drivers/gpio/gpiolib.c | 254 +++++++++++++++++++++++++-------
drivers/input/Kconfig | 2 +-
drivers/input/gpio_keys.c | 69 +++++----
drivers/of/Kconfig | 15 ++
drivers/pinctrl/Kconfig | 1 +
drivers/pinctrl/pinctrl-stm32.c | 41 ++++++
include/gpio.h | 4 +
include/linux/gpio/consumer.h | 19 +++
include/of_gpio.h | 6 +
10 files changed, 337 insertions(+), 88 deletions(-)
--
2.39.2
More information about the barebox
mailing list