diff mbox series

[1/3] regmap: Replace "default y if" by select

Message ID 525c37a568b10623ffb2d108850afd7e37f9350e.1688643442.git.geert@linux-m68k.org (mailing list archive)
State New, archived
Headers show
Series regmap: Fix REGMAP selections | expand

Commit Message

Geert Uytterhoeven July 6, 2023, 11:42 a.m. UTC
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@linux.ibm.com>
Closes: https://lore.kernel.org/r/20230705003024.1486757-1-bgray@linux.ibm.com
Reported-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Closes: https://lore.kernel.org/r/d8437dd4-63b6-13fb-22fd-9b92c661071c@csgroup.eu
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
 drivers/base/regmap/Kconfig | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

Comments

Mark Brown July 6, 2023, 12:33 p.m. UTC | #1
On Thu, Jul 06, 2023 at 01:42:02PM +0200, Geert Uytterhoeven wrote:

> 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.

I already have a separate patch which will go after the merge window
that will move the KUnit visible option to a separate Kconfig since the
current bodge to work around your desire to not have KUnit enable
anything automatically had really substantial usability issues anyway.

I'm getting fed up with all the problems that these KUNIT_ALL_TESTS
issues TBH, the inital patch here seriously damaged the usability.
diff mbox series

Patch

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