On 5/10/19 8:04 AM, Takashi Iwai wrote:
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 <[email protected]>
Fixes: c16211d6226d ("ASoC: SOF: Add Sound Open Firmware driver core")
Signed-off-by: YueHaibing <[email protected]>

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.

YueHiabing, can you share the config and SHA1 so that we can double check?

If the problem persists, we can do something like

config SND_SOF_NOCODEC_SUPPORT
        bool "SOF nocodec mode support"

config SND_SOF_NOCODEC
        tristate

confir SND_SOC_SOF
        tristate
        select SND_SOF_NOCODEC if SND_SOF_NOCODEC_SUPPORT

that way you propagate the required dependencies


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




_______________________________________________
Alsa-devel mailing list
[email protected]
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel


Reply via email to