mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 01:55:51 +02:00
ASoC: amd: acp: Fix linker error with SDCA quirks
Fix undefined reference to `snd_soc_acpi_amd_sdca_is_device_rt712_vb`
linker error when CONFIG_SND_SOC_ACPI_AMD_MATCH=y and
CONFIG_SND_SOC_ACPI_AMD_SDCA_QUIRKS=m, which causes built-in code to
reference a symbol only available in a module.
Fix this by changing SND_SOC_ACPI_AMD_SDCA_QUIRKS from tristate to bool
and compiling the quirks code directly into snd-soc-acpi-amd-match
rather than as a separate module. This ensures the quirks symbols are
always available at link time when the match tables reference them.
Fixes: 10d366a846 ("ASoC: amd: acp: Fix Kconfig dependencies for SND_SOC_ACPI_AMD_SDCA_QUIRKS")
Reported-by: Arnd Bergmann <arnd@arndb.de>
Tested-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com>
Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
Link: https://patch.msgid.link/20260703123314.147977-1-syed.sabakareem@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
4c9854ad3c
commit
dbbb5bc517
|
|
@ -15,13 +15,17 @@ config SND_SOC_AMD_ACP_COMMON
|
|||
|
||||
config SND_SOC_ACPI_AMD_MATCH
|
||||
tristate
|
||||
select SND_SOC_ACPI_AMD_SDCA_QUIRKS if SND_SOC_SDCA
|
||||
select SND_SOC_ACPI if ACPI
|
||||
|
||||
config SND_SOC_ACPI_AMD_SDCA_QUIRKS
|
||||
tristate
|
||||
depends on ACPI
|
||||
bool "AMD ACPI SDCA quirks"
|
||||
depends on SND_SOC_ACPI_AMD_MATCH
|
||||
depends on SND_SOC_SDCA
|
||||
depends on SND_SOC_ACPI_AMD_MATCH = m || SND_SOC_SDCA = y
|
||||
default y
|
||||
help
|
||||
Enable SDCA quirk support for AMD ACPI match tables.
|
||||
This is compiled into the snd-soc-acpi-amd-match module.
|
||||
|
||||
if SND_SOC_AMD_ACP_COMMON
|
||||
|
||||
|
|
|
|||
|
|
@ -24,10 +24,10 @@ snd-acp-mach-y := acp-mach-common.o
|
|||
snd-acp-legacy-mach-y := acp-legacy-mach.o acp3x-es83xx/acp3x-es83xx.o
|
||||
snd-acp-sof-mach-y := acp-sof-mach.o
|
||||
snd-soc-acpi-amd-match-y := amd-acp63-acpi-match.o amd-acp70-acpi-match.o
|
||||
snd-soc-acpi-amd-match-$(CONFIG_SND_SOC_ACPI_AMD_SDCA_QUIRKS) += soc-acpi-amd-sdca-quirks.o
|
||||
snd-acp-sdw-mach-y := acp-sdw-mach-common.o
|
||||
snd-acp-sdw-sof-mach-y += acp-sdw-sof-mach.o
|
||||
snd-acp-sdw-legacy-mach-y += acp-sdw-legacy-mach.o
|
||||
snd-soc-acpi-amd-sdca-quirks-y += soc-acpi-amd-sdca-quirks.o
|
||||
|
||||
obj-$(CONFIG_SND_SOC_AMD_ACP_PCM) += snd-acp-pcm.o
|
||||
obj-$(CONFIG_SND_SOC_AMD_ACP_I2S) += snd-acp-i2s.o
|
||||
|
|
@ -41,7 +41,6 @@ obj-$(CONFIG_SND_AMD_ASOC_REMBRANDT) += snd-acp-rembrandt.o
|
|||
obj-$(CONFIG_SND_AMD_ASOC_ACP63) += snd-acp63.o
|
||||
obj-$(CONFIG_SND_AMD_ASOC_ACP70) += snd-acp70.o
|
||||
|
||||
obj-$(CONFIG_SND_SOC_ACPI_AMD_SDCA_QUIRKS) += snd-soc-acpi-amd-sdca-quirks.o
|
||||
obj-$(CONFIG_SND_AMD_SOUNDWIRE_ACPI) += snd-amd-sdw-acpi.o
|
||||
obj-$(CONFIG_SND_SOC_AMD_MACH_COMMON) += snd-acp-mach.o
|
||||
obj-$(CONFIG_SND_SOC_AMD_LEGACY_MACH) += snd-acp-legacy-mach.o
|
||||
|
|
|
|||
|
|
@ -775,5 +775,5 @@ MODULE_DESCRIPTION("AMD ACP7.0 & ACP7.1 tables and support for ACPI enumeration"
|
|||
MODULE_LICENSE("GPL");
|
||||
MODULE_AUTHOR("Vijendar.Mukunda@amd.com");
|
||||
#if IS_ENABLED(CONFIG_SND_SOC_ACPI_AMD_SDCA_QUIRKS)
|
||||
MODULE_IMPORT_NS("SND_SOC_ACPI_AMD_SDCA_QUIRKS");
|
||||
MODULE_IMPORT_NS("SND_SOC_SDCA");
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -35,8 +35,4 @@ bool snd_soc_acpi_amd_sdca_is_device_rt712_vb(void *arg)
|
|||
|
||||
return false;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(snd_soc_acpi_amd_sdca_is_device_rt712_vb, "SND_SOC_ACPI_AMD_SDCA_QUIRKS");
|
||||
|
||||
MODULE_DESCRIPTION("ASoC ACPI AMD SDCA quirks");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS("SND_SOC_SDCA");
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user