
The ace2x driver can be build with or without mlink support, but
when SND_SOC_SOF_HDA_MLINK is set to =m and soundwire is built-in,
it fails with a link error:
ld.lld: error: undefined symbol: hdac_bus_eml_sdw_wait_syncpu_unlocked
>>> referenced by intel_ace2x.c
>>> drivers/soundwire/intel_ace2x.o:(intel_link_power_up) in archive vmlinux.a
ld.lld: error: undefined symbol: hdac_bus_eml_sdw_sync_arm_unlocked
>>> referenced by intel_ace2x.c
>>> drivers/soundwire/intel_ace2x.o:(intel_sync_arm) in archive vmlinux.a
Add a Kconfig dependency that prevents that broken configuration but
still allows soundwire to be a loadable module instead.
Fixes: 4d1e2464a1
("soundwire: intel_ace2x: add sync_arm/sync_go helpers")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20230616090932.2714714-1-arnd@kernel.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
1.6 KiB
SPDX-License-Identifier: GPL-2.0-only
SoundWire subsystem configuration
menuconfig SOUNDWIRE tristate "SoundWire support" depends on ACPI || OF help SoundWire is a 2-Pin interface with data and clock line ratified by the MIPI Alliance. SoundWire is used for transporting data typically related to audio functions. SoundWire interface is optimized to integrate audio devices in mobile or mobile inspired systems. Say Y to enable this subsystem, N if you do not have such a device
if SOUNDWIRE
comment "SoundWire Devices"
config SOUNDWIRE_AMD tristate "AMD SoundWire Manager driver" select SOUNDWIRE_GENERIC_ALLOCATION depends on ACPI && SND_SOC help SoundWire AMD Manager driver. If you have an AMD platform which has a SoundWire Manager then enable this config option to get the SoundWire support for that device.
config SOUNDWIRE_CADENCE tristate
config SOUNDWIRE_INTEL tristate "Intel SoundWire Master driver" select SOUNDWIRE_CADENCE select SOUNDWIRE_GENERIC_ALLOCATION select AUXILIARY_BUS depends on ACPI && SND_SOC depends on SND_SOC_SOF_HDA_MLINK || !SND_SOC_SOF_HDA_MLINK help SoundWire Intel Master driver. If you have an Intel platform which has a SoundWire Master then enable this config option to get the SoundWire support for that device.
config SOUNDWIRE_QCOM tristate "Qualcomm SoundWire Master driver" imply SLIMBUS depends on SND_SOC help SoundWire Qualcomm Master driver. If you have an Qualcomm platform which has a SoundWire Master then enable this config option to get the SoundWire support for that device
config SOUNDWIRE_GENERIC_ALLOCATION tristate
endif