From 8bea4bf7d31d2ab8a4a0162755b79a4a59a90dcd Mon Sep 17 00:00:00 2001
From: Tom Rini <trini@konsulko.com>
Date: Wed, 8 Jun 2022 08:24:39 -0400
Subject: [PATCH] tpl: Ensure all TPL symbols in Kconfig have some TPL
 dependency
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

Tighten up symbol dependencies in a number of places.  Ensure that a TPL
specific option has at least a direct dependency on TPL.  In places
where it's clear that we depend on something more specific, use that
dependency instead.

Reported-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
---
 arch/x86/Kconfig               | 1 +
 boot/Kconfig                   | 2 +-
 common/Kconfig                 | 3 ++-
 drivers/core/Kconfig           | 2 +-
 drivers/power/acpi_pmc/Kconfig | 1 +
 drivers/ram/Kconfig            | 2 +-
 lib/Kconfig                    | 3 ++-
 7 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 7cbfd6c972..1ac43e98bb 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -956,6 +956,7 @@ config SPL_ACPI_GPE
 
 config TPL_ACPI_GPE
 	bool "Support ACPI general-purpose events in TPL"
+	depends on TPL
 	help
 	  Enable a driver for ACPI GPEs to allow peripherals to send interrupts
 	  via ACPI to the OS. In U-Boot this is only used when U-Boot itself
diff --git a/boot/Kconfig b/boot/Kconfig
index 08451c65a5..38fc71c6f7 100644
--- a/boot/Kconfig
+++ b/boot/Kconfig
@@ -622,7 +622,7 @@ config SPL_BOOTSTAGE
 
 config TPL_BOOTSTAGE
 	bool "Boot timing and reported in TPL"
-	depends on BOOTSTAGE
+	depends on BOOTSTAGE && TPL
 	help
 	  Enable recording of boot time in SPL. To make this visible to U-Boot
 	  proper, enable BOOTSTAGE_STASH as well. This will stash the timing
diff --git a/common/Kconfig b/common/Kconfig
index 84db2e43f1..e3a57e2082 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -87,6 +87,7 @@ config SPL_LOGLEVEL
 
 config TPL_LOGLEVEL
 	int
+	depends on TPL
 	default LOGLEVEL
 
 config VPL_LOGLEVEL
@@ -408,7 +409,7 @@ endif
 
 config TPL_LOG
 	bool "Enable logging support in TPL"
-	depends on LOG
+	depends on LOG && TPL
 	help
 	  This enables support for logging of status and debug messages. These
 	  can be displayed on the console, recorded in a memory buffer, or
diff --git a/drivers/core/Kconfig b/drivers/core/Kconfig
index 9b9a7148a1..d3fe1d4093 100644
--- a/drivers/core/Kconfig
+++ b/drivers/core/Kconfig
@@ -224,7 +224,7 @@ config SPL_SYSCON
 
 config TPL_SYSCON
 	bool "Support system controllers in TPL"
-	depends on SPL_REGMAP
+	depends on TPL_REGMAP
 	help
 	  Many SoCs have a number of system controllers which are dealt with
 	  as a group by a single driver. Some common functionality is provided
diff --git a/drivers/power/acpi_pmc/Kconfig b/drivers/power/acpi_pmc/Kconfig
index fcd50e36ca..355d1618c6 100644
--- a/drivers/power/acpi_pmc/Kconfig
+++ b/drivers/power/acpi_pmc/Kconfig
@@ -17,6 +17,7 @@ config SPL_ACPI_PMC
 
 config TPL_ACPI_PMC
 	bool "Power Manager (x86 PMC) support in TPL"
+	depends on TPL
 	default y if ACPI_PMC
 	help
 	  Enable support for an x86-style power-management controller which
diff --git a/drivers/ram/Kconfig b/drivers/ram/Kconfig
index a4f9f1aad2..7c346180ba 100644
--- a/drivers/ram/Kconfig
+++ b/drivers/ram/Kconfig
@@ -19,7 +19,7 @@ config SPL_RAM
 
 config TPL_RAM
 	bool "Enable RAM support in TPL"
-	depends on RAM
+	depends on RAM && TPL
 	help
 	  The RAM subsystem adds a small amount of overhead to the image.
 	  If this is acceptable and you have a need to use RAM drivers in
diff --git a/lib/Kconfig b/lib/Kconfig
index 884569f9b1..ccbc52de89 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -248,6 +248,7 @@ config SPL_TINY_MEMSET
 
 config TPL_TINY_MEMSET
 	bool "Use a very small memset() in TPL"
+	depends on TPL
 	help
 	  The faster memset() is the arch-specific one (if available) enabled
 	  by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
@@ -771,7 +772,7 @@ config TPL_OF_LIBFDT
 
 config TPL_OF_LIBFDT_ASSUME_MASK
 	hex "Mask of conditions to assume for libfdt"
-	depends on TPL_OF_LIBFDT || FIT
+	depends on TPL_OF_LIBFDT || (FIT && TPL)
 	default 0xff
 	help
 	  Use this to change the assumptions made by libfdt in TPL about the
-- 
2.39.5