From 99a0532a2d09edac8d8cf59deb68e03f3275e494 Mon Sep 17 00:00:00 2001
From: Michal Simek <michal.simek@amd.com>
Date: Tue, 4 Jul 2023 14:05:13 +0200
Subject: [PATCH] sysreset: Change Kconfig GPIO dependency

DM_GPIO depends on GPIO to be enabled but select will cause that DM_GPIO is
selected without GPIO which ends up in compilation error:
undefined reference to `dm_gpio_set_value'
undefined reference to `dm_gpio_get_value'
undefined reference to `dm_gpio_free'
undefined reference to `gpio_request_by_name'

Signed-off-by: Michal Simek <michal.simek@amd.com>
[trini: Fix configs which had relied on these select's]
Signed-off-by: Tom Rini <trini@konsulko.com>
---
 configs/ge_b1x5v2_defconfig          | 1 +
 configs/microblaze-generic_defconfig | 1 +
 configs/qemu-ppce500_defconfig       | 1 +
 drivers/sysreset/Kconfig             | 4 ++--
 4 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/configs/ge_b1x5v2_defconfig b/configs/ge_b1x5v2_defconfig
index faa22f9392..b3b69a642a 100644
--- a/configs/ge_b1x5v2_defconfig
+++ b/configs/ge_b1x5v2_defconfig
@@ -14,6 +14,7 @@ CONFIG_ENV_SECT_SIZE=0x10000
 # CONFIG_GE_RTC is not set
 CONFIG_MX6QDL=y
 CONFIG_TARGET_GE_B1X5V2=y
+CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="imx6dl-b1x5v2"
 CONFIG_SPL_TEXT_BASE=0x00908000
 CONFIG_SPL_SERIAL=y
diff --git a/configs/microblaze-generic_defconfig b/configs/microblaze-generic_defconfig
index 6aa1d03e5b..589da3226d 100644
--- a/configs/microblaze-generic_defconfig
+++ b/configs/microblaze-generic_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_MALLOC_LEN=0xc0000
 CONFIG_SYS_MALLOC_F_LEN=0x400
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x20000
+CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="microblaze-generic"
 CONFIG_SYS_PROMPT="U-Boot-mONStR> "
 CONFIG_SPL_SERIAL=y
diff --git a/configs/qemu-ppce500_defconfig b/configs/qemu-ppce500_defconfig
index 105b937efa..5f0746e4e2 100644
--- a/configs/qemu-ppce500_defconfig
+++ b/configs/qemu-ppce500_defconfig
@@ -1,6 +1,7 @@
 CONFIG_PPC=y
 CONFIG_TEXT_BASE=0xf00000
 CONFIG_ENV_SIZE=0x2000
+CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="qemu-ppce500"
 CONFIG_SYS_MONITOR_LEN=524288
 CONFIG_SYS_CLK_FREQ=33000000
diff --git a/drivers/sysreset/Kconfig b/drivers/sysreset/Kconfig
index 03f7fdd597..bdbe2a9536 100644
--- a/drivers/sysreset/Kconfig
+++ b/drivers/sysreset/Kconfig
@@ -61,14 +61,14 @@ endif
 
 config POWEROFF_GPIO
 	bool "Enable support for GPIO poweroff driver"
-	select DM_GPIO
+	depends on DM_GPIO
 	help
 	  Support for system poweroff using a GPIO pin. This can be used
 	  for systems having a single GPIO to trigger a system poweroff.
 
 config SYSRESET_GPIO
 	bool "Enable support for GPIO reset driver"
-	select DM_GPIO
+	depends on DM_GPIO
 	help
 	  Reset support via GPIO pin connected reset logic. This is used for
 	  example on Microblaze where reset logic can be controlled via GPIO
-- 
2.39.5