linux/sound/soc/sdca/Kconfig
Boris Faure bbb758a694
ASoC: sdca: Fix missing regmap dependencies in Kconfig
The SDCA modules failed to build with modpost errors:

  ERROR: modpost: "__devm_regmap_init_sdw" [sound/soc/sdca/snd-soc-sdca-class.ko] undefined!
  ERROR: modpost: "__devm_regmap_init_sdw_mbq" [sound/soc/sdca/snd-soc-sdca-class-function.ko] undefined!

The issue occurs because:
- sdca_class.c calls devm_regmap_init_sdw() which requires REGMAP_SOUNDWIRE
- sdca_class_function.c calls devm_regmap_init_sdw_mbq_cfg() which requires REGMAP_SOUNDWIRE_MBQ

However, the Kconfig didn't select these dependencies, causing the symbols
to be unavailable when the SDCA modules are built.

Fix this by adding:
- select REGMAP_SOUNDWIRE to SND_SOC_SDCA_CLASS
- select REGMAP_SOUNDWIRE_MBQ to SND_SOC_SDCA_CLASS_FUNCTION

This ensures the required regmap drivers are enabled when building SDCA support.

Configuration after fix:
  CONFIG_SND_SOC_SDCA_CLASS=m
  CONFIG_SND_SOC_SDCA_CLASS_FUNCTION=m
  CONFIG_REGMAP_SOUNDWIRE=m
  CONFIG_REGMAP_SOUNDWIRE_MBQ=m

Signed-off-by: Boris Faure <boris@fau.re>
Link: https://patch.msgid.link/20260129141419.13843-1-boris@fau.re
Signed-off-by: Mark Brown <broonie@kernel.org>
2026-01-29 14:16:59 +00:00

62 lines
1.5 KiB
Plaintext

# SPDX-License-Identifier: GPL-2.0-only
menu "SoundWire (SDCA)"
config SND_SOC_SDCA
tristate
depends on ACPI
select AUXILIARY_BUS
help
This option enables support for the MIPI SoundWire Device
Class for Audio (SDCA).
config SND_SOC_SDCA_HID
bool "SDCA HID support"
depends on SND_SOC_SDCA
depends on HID=y || HID=SND_SOC_SDCA
default y
help
This option enables support for audio jack button reporting using HID.
config SND_SOC_SDCA_IRQ
bool "SDCA IRQ support"
select REGMAP
select REGMAP_IRQ
depends on SND_SOC_SDCA
default y
help
This option enables support for SDCA IRQs.
config SND_SOC_SDCA_FDL
bool "SDCA FDL (File DownLoad) support"
depends on SND_SOC_SDCA
default y
help
This option enables support for the File Download using UMP,
typically used for downloading firmware to devices.
config SND_SOC_SDCA_OPTIONAL
def_tristate SND_SOC_SDCA || !SND_SOC_SDCA
config SND_SOC_SDCA_CLASS
tristate "SDCA Class Driver"
depends on SOUNDWIRE
depends on HID=y || HID=SND_SOC_SDCA
depends on SND_SOC_SDCA
select SND_SOC_SDCA_CLASS_FUNCTION
select SND_SOC_SDCA_FDL
select SND_SOC_SDCA_HID
select SND_SOC_SDCA_IRQ
select REGMAP_SOUNDWIRE
help
This option enables support for the SDCA Class driver which should
support any class compliant SDCA part.
config SND_SOC_SDCA_CLASS_FUNCTION
tristate
select REGMAP_SOUNDWIRE_MBQ
help
This option enables support for the SDCA Class Function drivers,
these implement the individual functions of the SDCA Class driver.
endmenu