Merely setting the default to enabled is no guarantee that a Kconfig option is actually enabled. While this works for an invisible option, the user can still disable it manually if the option is visible. Hence since the REGMAP option was made visible if KUNIT_ALL_TESTS is enabled, the user can now manually disable REGMAP, causing build failures if any of the REGMAP_* configuration options are enabled. Fix this by replacing "default y if ..." by individual "select REGMAP" statements for all users. Fixes: 70a640c0efa76674 ("regmap: REGMAP_KUNIT should not select REGMAP") Reported-by: Benjamin Gray <bgray@xxxxxxxxxxxxx> Closes: https://lore.kernel.org/r/20230705003024.1486757-1-bgray@xxxxxxxxxxxxx Reported-by: Christophe Leroy <christophe.leroy@xxxxxxxxxx> Closes: https://lore.kernel.org/r/d8437dd4-63b6-13fb-22fd-9b92c661071c@xxxxxxxxxx Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> --- drivers/base/regmap/Kconfig | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/base/regmap/Kconfig b/drivers/base/regmap/Kconfig index 0db2021f7477f2ab..e25cc619c75de3d9 100644 --- a/drivers/base/regmap/Kconfig +++ b/drivers/base/regmap/Kconfig @@ -5,7 +5,6 @@ config REGMAP bool "Register Map support" if KUNIT_ALL_TESTS - default y if (REGMAP_I2C || REGMAP_SPI || REGMAP_SPMI || REGMAP_W1 || REGMAP_AC97 || REGMAP_MMIO || REGMAP_IRQ || REGMAP_SOUNDWIRE || REGMAP_SOUNDWIRE_MBQ || REGMAP_SCCB || REGMAP_I3C || REGMAP_SPI_AVMM || REGMAP_MDIO || REGMAP_FSI) select IRQ_DOMAIN if REGMAP_IRQ select MDIO_BUS if REGMAP_MDIO help @@ -25,10 +24,12 @@ config REGMAP_KUNIT config REGMAP_AC97 tristate + select REGMAP config REGMAP_I2C tristate depends on I2C + select REGMAP config REGMAP_SLIMBUS tristate @@ -37,23 +38,29 @@ config REGMAP_SLIMBUS config REGMAP_SPI tristate depends on SPI + select REGMAP config REGMAP_SPMI tristate depends on SPMI + select REGMAP config REGMAP_W1 tristate depends on W1 + select REGMAP config REGMAP_MDIO tristate + select REGMAP config REGMAP_MMIO tristate + select REGMAP config REGMAP_IRQ bool + select REGMAP config REGMAP_RAM tristate @@ -61,23 +68,29 @@ config REGMAP_RAM config REGMAP_SOUNDWIRE tristate depends on SOUNDWIRE + select REGMAP config REGMAP_SOUNDWIRE_MBQ tristate depends on SOUNDWIRE + select REGMAP config REGMAP_SCCB tristate depends on I2C + select REGMAP config REGMAP_I3C tristate depends on I3C + select REGMAP config REGMAP_SPI_AVMM tristate depends on SPI + select REGMAP config REGMAP_FSI tristate depends on FSI + select REGMAP -- 2.34.1