At present if CONFIG_SPL_GPIO_SUPPORT is enabled then the GPIO uclass
is included in SPL/TPL without any control for boards. Some boards may
want to disable this to reduce code size where GPIOs are not needed in
SPL or TPL.

Add a new Kconfig option to permit this. Default it to 'y' so that
existing boards work correctly.

Signed-off-by: Simon Glass <[email protected]>
---

 drivers/gpio/Kconfig  | 22 ++++++++++++++++++++++
 drivers/gpio/Makefile |  2 +-
 2 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index 7d9c97f537..73451c9379 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -14,6 +14,28 @@ config DM_GPIO
          particular GPIOs that they provide. The uclass interface
          is defined in include/asm-generic/gpio.h.
 
+config SPL_DM_GPIO
+       bool "Enable Driver Model for GPIO drivers in SPL"
+       depends on DM_GPIO && SPL && SPL_GPIO_SUPPORT
+       default y
+       help
+         Enable driver model for GPIO access. The standard GPIO
+         interface (gpio_get_value(), etc.) is then implemented by
+         the GPIO uclass. Drivers provide methods to query the
+         particular GPIOs that they provide. The uclass interface
+         is defined in include/asm-generic/gpio.h.
+
+config TPL_DM_GPIO
+       bool "Enable Driver Model for GPIO drivers in TPL"
+       depends on DM_GPIO && TPL && TPL_GPIO_SUPPORT
+       default y
+       help
+         Enable driver model for GPIO access. The standard GPIO
+         interface (gpio_get_value(), etc.) is then implemented by
+         the GPIO uclass. Drivers provide methods to query the
+         particular GPIOs that they provide. The uclass interface
+         is defined in include/asm-generic/gpio.h.
+
 config GPIO_HOG
        bool "Enable GPIO hog support"
        depends on DM_GPIO
diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
index 4a8aa0ff6f..56e9374e30 100644
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
@@ -7,7 +7,7 @@ ifndef CONFIG_SPL_BUILD
 obj-$(CONFIG_DWAPB_GPIO)       += dwapb_gpio.o
 obj-$(CONFIG_AXP_GPIO)         += axp_gpio.o
 endif
-obj-$(CONFIG_DM_GPIO)          += gpio-uclass.o
+obj-$(CONFIG_$(SPL_TPL_)DM_GPIO) += gpio-uclass.o
 
 obj-$(CONFIG_$(SPL_)DM_PCA953X)        += pca953x_gpio.o
 obj-$(CONFIG_DM_74X164)                += 74x164_gpio.o
-- 
2.23.0.187.g17f5b7556c-goog

_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot

Reply via email to