soundwire: intel_ace2x: fix SND_SOC_SOF_HDA_MLINK dependency
authorArnd Bergmann <arnd@arndb.de>
Fri, 16 Jun 2023 09:09:24 +0000 (11:09 +0200)
committerVinod Koul <vkoul@kernel.org>
Wed, 21 Jun 2023 10:49:44 +0000 (16:19 +0530)
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>
drivers/soundwire/Kconfig

index fa71c9a..4d8f3b7 100644 (file)
@@ -37,6 +37,7 @@ config SOUNDWIRE_INTEL
        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