[PATCH v2 1/2] gpio: add PMIC_GPIO Kconfig option

Svyatoslav Ryhel clamor95 at gmail.com
Mon Dec 9 07:44:11 CET 2024


Add more generic Kconfig option to be enabled by the PMIC drivers
which do not have dedicated GPIO node and use same phandle to refer
to both core driver and GPIO child.

Signed-off-by: Svyatoslav Ryhel <clamor95 at gmail.com>
---
 drivers/gpio/Kconfig       | 8 ++++++++
 drivers/gpio/gpio-uclass.c | 2 +-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index 92a8597420a..13b7e9a53dd 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -255,6 +255,7 @@ config MAX7320_GPIO
 config MAX77663_GPIO
 	bool "MAX77663 GPIO cell of PMIC driver"
 	depends on DM_GPIO && DM_PMIC_MAX77663
+	select PMIC_GPIO
 	help
 	  GPIO driver for MAX77663 PMIC from Maxim Semiconductor.
 	  MAX77663 PMIC has 8 pins that can be configured as GPIOs
@@ -474,6 +475,13 @@ config PIC32_GPIO
 	help
 	  Say yes here to support Microchip PIC32 GPIOs.
 
+config PMIC_GPIO
+	bool
+	depends on DM_GPIO
+	help
+	  Select this option if your PMIC does not have dedicated GPIO node
+	  and phandle of the PMIC itself is used as a GPIO phandle.
+
 config OCTEON_GPIO
 	bool "Octeon II/III/TX/TX2 GPIO driver"
 	depends on DM_GPIO && PCI && (ARCH_OCTEON || ARCH_OCTEONTX || ARCH_OCTEONTX2)
diff --git a/drivers/gpio/gpio-uclass.c b/drivers/gpio/gpio-uclass.c
index 0213271e3a6..e776906fe73 100644
--- a/drivers/gpio/gpio-uclass.c
+++ b/drivers/gpio/gpio-uclass.c
@@ -1142,7 +1142,7 @@ static int gpio_request_tail(int ret, const char *nodename,
 		ret = uclass_get_device_by_ofnode(UCLASS_GPIO, args->node,
 						  &desc->dev);
 		if (ret) {
-#if CONFIG_IS_ENABLED(MAX77663_GPIO) || CONFIG_IS_ENABLED(PALMAS_GPIO)
+#if CONFIG_IS_ENABLED(PMIC_GPIO)
 			struct udevice *pmic;
 			ret = uclass_get_device_by_ofnode(UCLASS_PMIC, args->node,
 							  &pmic);
-- 
2.43.0



More information about the U-Boot mailing list