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