[PATCH] mfd/ASoC: WM8400: select SND_SOC_WM8400 from MFD_WM8400

Piyush Patle posted 1 patch 3 weeks, 1 day ago
drivers/mfd/Kconfig      | 1 +
sound/soc/codecs/Kconfig | 1 -
2 files changed, 1 insertion(+), 1 deletion(-)
[PATCH] mfd/ASoC: WM8400: select SND_SOC_WM8400 from MFD_WM8400
Posted by Piyush Patle 3 weeks, 1 day ago
The MFD driver wm8400-core.c unconditionally registers a platform
device named 'wm8400-codec' via wm8400_register_codec(). The codec
driver in sound/soc/codecs/wm8400.c binds to this device by name,
but SND_SOC_WM8400 is a hidden symbol with no prompt and nothing
was selecting it in normal configurations, so the driver never built.

Fix this by adding 'select SND_SOC_WM8400' to MFD_WM8400, which
encodes the implicit dependency that already existed at runtime.
Also remove the FIXME comment that noted this gap.

Signed-off-by: Piyush Patle <piyushpatle228@gmail.com>
---
 drivers/mfd/Kconfig      | 1 +
 sound/soc/codecs/Kconfig | 1 -
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index 7192c9d1d268..d931612e0468 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -2127,6 +2127,7 @@ config MFD_WM8400
 	select MFD_CORE
 	depends on I2C=y
 	select REGMAP_I2C
+	select SND_SOC_WM8400
 	help
 	  Support for the Wolfson Microelecronics WM8400 PMIC and audio
 	  CODEC.  This driver provides common support for accessing
diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
index adb3fb923be3..0e912f6ec89c 100644
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -2496,7 +2496,6 @@ config SND_SOC_WM8350
 
 config SND_SOC_WM8400
 	tristate
-	# FIXME nothing selects SND_SOC_WM8400??
 	depends on MFD_WM8400
 
 config SND_SOC_WM8510
-- 
2.34.1
Re: [PATCH] mfd/ASoC: WM8400: select SND_SOC_WM8400 from MFD_WM8400
Posted by Mark Brown 3 weeks, 1 day ago
On Mon, Mar 16, 2026 at 01:51:17AM +0530, Piyush Patle wrote:
> The MFD driver wm8400-core.c unconditionally registers a platform
> device named 'wm8400-codec' via wm8400_register_codec(). The codec
> driver in sound/soc/codecs/wm8400.c binds to this device by name,
> but SND_SOC_WM8400 is a hidden symbol with no prompt and nothing
> was selecting it in normal configurations, so the driver never built.
> 
> Fix this by adding 'select SND_SOC_WM8400' to MFD_WM8400, which
> encodes the implicit dependency that already existed at runtime.
> Also remove the FIXME comment that noted this gap.

This doesn't accomplish anything, the driver will do nothing unless a
sound card binds to it.  This is very standard for older CODEC drivers,
the comment just shouldn't be there.