sound/soc/amd/acp/soc-acpi-amd-sdca-quirks.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
From: Syed Saba Kareem <Syed.SabaKareem@amd.com>
Fix a build failure when CONFIG_SND_SOC_ACPI_AMD_MATCH=y (built-in) and
CONFIG_SND_SOC_ACPI_AMD_SDCA_QUIRKS=m (module):
x86_64-linux-ld: sound/soc/amd/acp/amd-acp70-acpi-match.o:(.data+0xf00):
undefined reference to `snd_soc_acpi_amd_sdca_is_device_rt712_vb'
The header guard uses IS_ENABLED() which evaluates to true for both =y
and =m configs. This causes the real function declaration to be used even
when the symbol is only available in a loadable module, resulting in an
undefined reference when the caller is built-in.
Replace IS_ENABLED() with IS_REACHABLE() which correctly evaluates to
false when the dependency is a module but the caller is built-in, causing
the static inline stub to be used instead.
Fixes: 10d366a846be ("ASoC: amd: acp: Fix Kconfig dependencies for SND_SOC_ACPI_AMD_SDCA_QUIRKS")
Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com>
---
sound/soc/amd/acp/soc-acpi-amd-sdca-quirks.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/amd/acp/soc-acpi-amd-sdca-quirks.h b/sound/soc/amd/acp/soc-acpi-amd-sdca-quirks.h
index 0e644e71e76f..66df37d29d84 100644
--- a/sound/soc/amd/acp/soc-acpi-amd-sdca-quirks.h
+++ b/sound/soc/amd/acp/soc-acpi-amd-sdca-quirks.h
@@ -9,7 +9,7 @@
#ifndef _SND_SOC_ACPI_AMD_SDCA_QUIRKS
#define _SND_SOC_ACPI_AMD_SDCA_QUIRKS
-#if IS_ENABLED(CONFIG_SND_SOC_ACPI_AMD_SDCA_QUIRKS)
+#if IS_REACHABLE(CONFIG_SND_SOC_ACPI_AMD_SDCA_QUIRKS)
bool snd_soc_acpi_amd_sdca_is_device_rt712_vb(void *arg);
--
2.43.0
On 5/27/26 19:02, Syed Saba Kareem wrote:
> From: Syed Saba Kareem <Syed.SabaKareem@amd.com>
>
> Fix a build failure when CONFIG_SND_SOC_ACPI_AMD_MATCH=y (built-in) and
> CONFIG_SND_SOC_ACPI_AMD_SDCA_QUIRKS=m (module):
>
> x86_64-linux-ld: sound/soc/amd/acp/amd-acp70-acpi-match.o:(.data+0xf00):
> undefined reference to `snd_soc_acpi_amd_sdca_is_device_rt712_vb'
>
> The header guard uses IS_ENABLED() which evaluates to true for both =y
> and =m configs. This causes the real function declaration to be used even
> when the symbol is only available in a loadable module, resulting in an
> undefined reference when the caller is built-in.
>
> Replace IS_ENABLED() with IS_REACHABLE() which correctly evaluates to
> false when the dependency is a module but the caller is built-in, causing
> the static inline stub to be used instead.
>
> Fixes: 10d366a846be ("ASoC: amd: acp: Fix Kconfig dependencies for SND_SOC_ACPI_AMD_SDCA_QUIRKS")
> Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com>
> ---
> sound/soc/amd/acp/soc-acpi-amd-sdca-quirks.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/sound/soc/amd/acp/soc-acpi-amd-sdca-quirks.h b/sound/soc/amd/acp/soc-acpi-amd-sdca-quirks.h
> index 0e644e71e76f..66df37d29d84 100644
> --- a/sound/soc/amd/acp/soc-acpi-amd-sdca-quirks.h
> +++ b/sound/soc/amd/acp/soc-acpi-amd-sdca-quirks.h
> @@ -9,7 +9,7 @@
> #ifndef _SND_SOC_ACPI_AMD_SDCA_QUIRKS
> #define _SND_SOC_ACPI_AMD_SDCA_QUIRKS
>
> -#if IS_ENABLED(CONFIG_SND_SOC_ACPI_AMD_SDCA_QUIRKS)
> +#if IS_REACHABLE(CONFIG_SND_SOC_ACPI_AMD_SDCA_QUIRKS)
>
> bool snd_soc_acpi_amd_sdca_is_device_rt712_vb(void *arg);
>
As per Arnd Bergmann offline comments this fix wont work , will send a
another patch with proper fix.
Please discard this patch.
© 2016 - 2026 Red Hat, Inc.