On Fri, 10 May 2019 14:56:29 +0200, Pierre-Louis Bossart wrote: > > On 5/10/19 2:12 AM, Takashi Iwai wrote: > > 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 <hul...@huawei.com> > >> Fixes: c16211d6226d ("ASoC: SOF: Add Sound Open Firmware driver core") > >> Signed-off-by: YueHaibing <yuehaib...@huawei.com> > > > > This change would break things severely. This won't allow to build it > > as a module any longer. > > Isn't this fixed already? > See the patch 'ASoC: SOF: core: fix undefined nocodec reference' and > Takashi's follow-up to fix the unused variable warning.
Possibly the problem still persists although I haven't seen through my local build tests with randconfig. You can set SND_SOC_SOF=y and SND_SOC_NOCODEC=m, i.e. built-in sof-core while nocodec is a module. Takashi > > > > 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 > >> > >> > >> >