2023-06-16 09:27:59

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] soundwire: intel_ace2x: fix SND_SOC_SOF_HDA_MLINK dependency

From: Arnd Bergmann <[email protected]>

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 <[email protected]>
---
drivers/soundwire/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/soundwire/Kconfig b/drivers/soundwire/Kconfig
index fa71c9a36df7a..4d8f3b7024ae5 100644
--- a/drivers/soundwire/Kconfig
+++ b/drivers/soundwire/Kconfig
@@ -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
--
2.39.2



2023-06-21 11:36:54

by Vinod Koul

[permalink] [raw]
Subject: Re: [PATCH] soundwire: intel_ace2x: fix SND_SOC_SOF_HDA_MLINK dependency

On 16-06-23, 11:09, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> 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.

Applied, thanks

--
~Vinod