spl: Ensure all SPL symbols in Kconfig have some SPL dependency
Tighten up symbol dependencies in a number of places. Ensure that a SPL
specific option has at least a direct dependency on SPL. In places
where it's clear that we depend on something more specific, use that
dependency instead. This means in a very small number of places we can
drop redundant dependencies.
Reported-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig
index f10d1aa..eae1c8d 100644
--- a/drivers/firmware/Kconfig
+++ b/drivers/firmware/Kconfig
@@ -3,7 +3,7 @@
config SPL_FIRMWARE
bool "Enable Firmware driver support in SPL"
- depends on FIRMWARE
+ depends on FIRMWARE && SPL
config SPL_ARM_PSCI_FW
bool
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index 149a62f..8ab22ed 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -89,7 +89,7 @@
config SPL_DM_GPIO_LOOKUP_LABEL
bool "Enable searching for gpio labelnames"
- depends on DM_GPIO && SPL_DM && SPL_GPIO
+ depends on SPL_DM_GPIO
help
This option enables searching for gpio names in
the defined gpio labels, if the search for the
@@ -490,7 +490,7 @@
config SPL_DM_PCA953X
bool "PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports in SPL"
- depends on DM_GPIO
+ depends on SPL_DM_GPIO
help
Say yes here to provide access to several register-oriented
SMBus I/O expanders, made mostly by NXP or TI. Compatible
diff --git a/drivers/i2c/muxes/Kconfig b/drivers/i2c/muxes/Kconfig
index 39683fc..323c4fb 100644
--- a/drivers/i2c/muxes/Kconfig
+++ b/drivers/i2c/muxes/Kconfig
@@ -9,7 +9,7 @@
config SPL_I2C_MUX
bool "Support I2C multiplexers on SPL"
- depends on I2C_MUX
+ depends on SPL && I2C_MUX
help
This enables I2C buses to be multiplexed, so that you can select
one of several buses using some sort of control mechanism. The
diff --git a/drivers/led/Kconfig b/drivers/led/Kconfig
index 418ed21..ccdd7d7 100644
--- a/drivers/led/Kconfig
+++ b/drivers/led/Kconfig
@@ -67,7 +67,7 @@
config SPL_LED
bool "Enable LED support in SPL"
- depends on SPL && SPL_DM
+ depends on SPL_DM
help
The LED subsystem adds a small amount of overhead to the image.
If this is acceptable and you have a need to use LEDs in SPL,
@@ -85,7 +85,7 @@
config SPL_LED_GPIO
bool "LED support for GPIO-connected LEDs in SPL"
- depends on SPL_LED && DM_GPIO
+ depends on SPL_LED && SPL_DM_GPIO
help
This option is an SPL-variant of the LED_GPIO option.
See the help of LED_GPIO for details.
diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig
index b44cd98..fd44421 100644
--- a/drivers/mmc/Kconfig
+++ b/drivers/mmc/Kconfig
@@ -123,6 +123,7 @@
config SPL_MMC_IO_VOLTAGE
bool "Support IO voltage configuration in SPL"
+ depends on SPL_MMC
help
IO voltage configuration allows selecting the voltage level of the IO
lines (not the level of main supply). This is required for UHS
@@ -153,6 +154,7 @@
config SPL_MMC_HS400_ES_SUPPORT
bool "enable HS400 Enhanced Strobe support in SPL"
+ depends on SPL_MMC
help
The HS400 Enhanced Strobe mode is support by some eMMC. The bus
frequency is up to 200MHz. This mode does not tune the IO.
@@ -166,6 +168,7 @@
config SPL_MMC_HS400_SUPPORT
bool "enable HS400 support in SPL"
+ depends on SPL_MMC
select SPL_MMC_HS200_SUPPORT
help
The HS400 mode is support by some eMMC. The bus frequency is up to
@@ -179,6 +182,7 @@
config SPL_MMC_HS200_SUPPORT
bool "enable HS200 support in SPL"
+ depends on SPL_MMC
help
The HS200 mode is support by some eMMC. The bus frequency is up to
200MHz. This mode requires tuning the IO.
@@ -478,7 +482,7 @@
config SPL_MMC_SDHCI_ADMA
bool "Support SDHCI ADMA2 in SPL"
- depends on MMC_SDHCI
+ depends on SPL_MMC && MMC_SDHCI
select MMC_SDHCI_ADMA_HELPERS
help
This enables support for the ADMA (Advanced DMA) defined
diff --git a/drivers/mtd/nand/raw/Kconfig b/drivers/mtd/nand/raw/Kconfig
index 4129a33..190300f 100644
--- a/drivers/mtd/nand/raw/Kconfig
+++ b/drivers/mtd/nand/raw/Kconfig
@@ -73,6 +73,7 @@
config SPL_GENERATE_ATMEL_PMECC_HEADER
bool "Atmel PMECC Header Generation"
+ depends on SPL
select ATMEL_NAND_HWECC
select ATMEL_NAND_HW_PMECC
help
@@ -647,7 +648,7 @@
config SPL_NAND_AM33XX_BCH
bool "Enables SPL-NAND driver which supports ELM based"
- depends on NAND_OMAP_GPMC && !OMAP34XX
+ depends on SPL_NAND_SUPPORT && NAND_OMAP_GPMC && !OMAP34XX
default y
help
Hardware ECC correction. This is useful for platforms which have ELM
@@ -658,6 +659,7 @@
config SPL_NAND_DENALI
bool "Support Denali NAND controller for SPL"
+ depends on SPL_NAND_SUPPORT
help
This is a small implementation of the Denali NAND controller
for use on SPL.
@@ -673,7 +675,7 @@
config SPL_NAND_SIMPLE
bool "Use simple SPL NAND driver"
- depends on !SPL_NAND_AM33XX_BCH
+ depends on !SPL_NAND_AM33XX_BCH && SPL_NAND_SUPPORT
help
Support for NAND boot using simple NAND drivers that
expose the cmd_ctrl() interface.
diff --git a/drivers/mtd/spi/Kconfig b/drivers/mtd/spi/Kconfig
index f350c7e..f83876c 100644
--- a/drivers/mtd/spi/Kconfig
+++ b/drivers/mtd/spi/Kconfig
@@ -248,7 +248,7 @@
config SPL_SPI_FLASH_MTD
bool "SPI flash MTD support for SPL"
- depends on SPI_FLASH
+ depends on SPI_FLASH && SPL
help
Enable the MTD support for the SPI flash layer in SPL.
diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig
index 2c20dc7..0af53a6 100644
--- a/drivers/power/Kconfig
+++ b/drivers/power/Kconfig
@@ -29,6 +29,7 @@
config SPL_POWER_LEGACY
bool "Legacy power support in SPL"
+ depends on SPL && !SPL_DM_PMIC
default y if POWER_LEGACY
help
Note: This is a legacy option. Use SPL_DM_PMIC instead.
diff --git a/drivers/power/acpi_pmc/Kconfig b/drivers/power/acpi_pmc/Kconfig
index 355d161..629acb0 100644
--- a/drivers/power/acpi_pmc/Kconfig
+++ b/drivers/power/acpi_pmc/Kconfig
@@ -8,6 +8,7 @@
config SPL_ACPI_PMC
bool "Power Manager (x86 PMC) support in SPL"
+ depends on SPL
default y if ACPI_PMC
help
Enable support for an x86-style power-management controller which
diff --git a/drivers/power/regulator/Kconfig b/drivers/power/regulator/Kconfig
index d6cea8e..c519e06 100644
--- a/drivers/power/regulator/Kconfig
+++ b/drivers/power/regulator/Kconfig
@@ -55,7 +55,7 @@
config SPL_DM_REGULATOR_BD71837
bool "Enable Driver Model for ROHM BD71837/BD71847 regulators in SPL"
- depends on DM_REGULATOR_BD71837
+ depends on DM_REGULATOR_BD71837 && SPL
help
This config enables implementation of driver-model regulator uclass
features for regulators on ROHM BD71837 and BD71847 in SPL.
@@ -70,7 +70,7 @@
config SPL_DM_REGULATOR_PCA9450
bool "Enable Driver Model for NXP PCA9450 regulators in SPL"
- depends on DM_REGULATOR_PCA9450
+ depends on DM_REGULATOR_PCA9450 && SPL
help
This config enables implementation of driver-model regulator uclass
features for regulators on ROHM PCA9450 in SPL.
@@ -115,7 +115,7 @@
config SPL_REGULATOR_PWM
bool "Enable Driver for PWM regulators in SPL"
- depends on REGULATOR_PWM
+ depends on REGULATOR_PWM && SPL
help
This config enables implementation of driver-model regulator uclass
features for PWM regulators in SPL.
@@ -163,7 +163,7 @@
config SPL_DM_REGULATOR_FIXED
bool "Enable Driver Model for REGULATOR Fixed value in SPL"
- depends on DM_REGULATOR_FIXED
+ depends on DM_REGULATOR_FIXED && SPL
select SPL_DM_REGULATOR_COMMON
---help---
This config enables implementation of driver-model regulator uclass
@@ -345,7 +345,7 @@
config SPL_DM_REGULATOR_PALMAS
bool "Enable driver for PALMAS PMIC regulators"
- depends on SPL_PMIC_PALMAS
+ depends on SPL_PMIC_PALMAS
help
This enables implementation of driver-model regulator uclass
features for REGULATOR PALMAS and the family of PALMAS PMICs.
@@ -353,7 +353,7 @@
config SPL_DM_REGULATOR_LP87565
bool "Enable driver for LP87565 PMIC regulators"
- depends on SPL_PMIC_LP87565
+ depends on SPL_PMIC_LP87565
help
This enables implementation of driver-model regulator uclass
features for REGULATOR LP87565 and the family of LP87565 PMICs.