[alsa-devel] [PATCH] ASoC: SOF: Fix build error with CONFIG_SND_SOC_SOF_NOCODEC=m

Takashi Iwai tiwai at suse.de
Fri May 10 09:12:52 CEST 2019


On Fri, 10 May 2019 04:36:57 +0200,
YueHaibing wrote:
> 
> Fix gcc build error while CONFIG_SND_SOC_SOF_NOCODEC=m
> 
> sound/soc/sof/core.o: In function `snd_sof_device_probe':
> core.c:(.text+0x4af): undefined reference to `sof_nocodec_setup'
> 
> Change SND_SOC_SOF_NOCODEC to bool to fix this.
> 
> Reported-by: Hulk Robot <hulkci at huawei.com>
> Fixes: c16211d6226d ("ASoC: SOF: Add Sound Open Firmware driver core")
> Signed-off-by: YueHaibing <yuehaibing at huawei.com>

This change would break things severely.  This won't allow to build it
as a module any longer.

A better fix would be to somehow restrict the SND_SOC_SOF_NOCODEC to
align with SND_SOC_SOF, i.e. disallow SND_SOC_SOF=y &&
SND_SOC_SOF_NOCODEC=m.  Because of the complex mix of select and
depends-on in SOF, I'm afraid that it's not that trivial, though.
There might be something I overlooked, hopefully...

An easier alternative would be to replace
IS_ENABLED(CONFIG_SND_SOC_SOF_NOCODEC) with
IS_REACHABLE(CONFIG_SND_SOC_SOF_NOCODEC).  This assures the condition
at the build time, although the error at probe might be a surprising
to some users that don't know this hidden dependency.


thanks,

Takashi


> ---
>  sound/soc/sof/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/sound/soc/sof/Kconfig b/sound/soc/sof/Kconfig
> index b204c65..9c280c9 100644
> --- a/sound/soc/sof/Kconfig
> +++ b/sound/soc/sof/Kconfig
> @@ -44,7 +44,7 @@ config SND_SOC_SOF_OPTIONS
>  if SND_SOC_SOF_OPTIONS
>  
>  config SND_SOC_SOF_NOCODEC
> -	tristate "SOF nocodec mode Support"
> +	bool "SOF nocodec mode Support"
>  	help
>  	  This adds support for a dummy/nocodec machine driver fallback
>  	  option if no known codec is detected. This is typically only
> -- 
> 2.7.4
> 
> 
> 


More information about the Alsa-devel mailing list