Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

soundwire: intel_ace2x: fix SND_SOC_SOF_HDA_MLINK dependency

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: 4d1e2464a1104 ("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>

authored by

Arnd Bergmann and committed by
Vinod Koul
a1b828f2 038306aa

+1
+1
drivers/soundwire/Kconfig
··· 37 37 select SOUNDWIRE_GENERIC_ALLOCATION 38 38 select AUXILIARY_BUS 39 39 depends on ACPI && SND_SOC 40 + depends on SND_SOC_SOF_HDA_MLINK || !SND_SOC_SOF_HDA_MLINK 40 41 help 41 42 SoundWire Intel Master driver. 42 43 If you have an Intel platform which has a SoundWire Master then