Re: [alsa-devel] [PATCH -next] ASoC: SOF: imx8: Fix randbuild error
From: Daniel Baluta
Date: Thu Feb 13 2020 - 16:12:38 EST
On Tue, Feb 11, 2020 at 11:59 AM Krzysztof Kozlowski <krzk@xxxxxxxxxx> wrote:
>
> On Tue, 11 Feb 2020 at 10:46, Daniel Baluta <daniel.baluta@xxxxxxxxx> wrote:
> >
> > On Tue, Feb 11, 2020 at 3:59 AM Yuehaibing <yuehaibing@xxxxxxxxxx> wrote:
> > >
> > > On 2020/2/11 5:00, Pierre-Louis Bossart wrote:
> > > >
> > > >
> > > > On 2/10/20 12:15 AM, YueHaibing wrote:
> > > >> when do randconfig like this:
> > > >> CONFIG_SND_SOC_SOF_IMX8_SUPPORT=y
> > > >> CONFIG_SND_SOC_SOF_IMX8=y
> > > >> CONFIG_SND_SOC_SOF_OF=y
> > > >> CONFIG_IMX_DSP=m
> > > >> CONFIG_IMX_SCU=y
> > > >>
> > > >> there is a link error:
> > > >>
> > > >> sound/soc/sof/imx/imx8.o: In function 'imx8_send_msg':
> > > >> imx8.c:(.text+0x380): undefined reference to 'imx_dsp_ring_doorbell'
> > > >>
> > > >> Select IMX_DSP in SND_SOC_SOF_IMX8_SUPPORT to fix this
> > > >>
> > > >> Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
> > > >> Fixes: f9ad75468453 ("ASoC: SOF: imx: fix reverse CONFIG_SND_SOC_SOF_OF dependency")
> > > >> Signed-off-by: YueHaibing <yuehaibing@xxxxxxxxxx>
> > > >
> > > > Thanks for the report.
> > > >
> > > > Would you mind sharing the .config and instructions to reproduce this case? we have an unrelated issue with allyesconfig that was reviewed here:
> > > >
> > > > https://github.com/thesofproject/linux/pull/1778
> > > >
> > > > and I'd probably a good thing to fix everything in one shot.
> > >
> > > config is attached, which is on x86_64
> >
> > Thanks, I think this is legit. It was introduced with:
> >
> > commit f52cdcce9197fef9d4a68792dd3b840ad2b77117
> > Author: Daniel Baluta <daniel.baluta@xxxxxxx>
> > Date: Sat Jan 4 15:39:53 2020 +0000
> >
> > firmware: imx: Allow IMX DSP to be selected as module
> >
> > IMX DSP is only needed by SOF or any other module that
> > wants to communicate with the DSP. When SOF is build
> > as a module IMX DSP is forced to be built inside the
> > kernel image. This is not optimal, so allow IMX DSP
> > to be built as a module.
> >
> > Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxx>
> > Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx>
>
> Hi,
>
> Since it's a module, don't you just miss EXPORT_SYMBOL there?
>
> > So, I think we should change the Fixes tag. Are there
> > any clear rules on when to use select vs depends?
> >
> > On my side, I know what both are doing but it is not clear
> > when to use them.
>
> Visible symbols usually should not be selected. The same with symbols
> with dependencies. The docs have this rule mentioned.
You mean if module X depends on module Y, we shouldn't use select?
But this exactly what this patch does :).
The problem here is that when X depends on Y, and X=y and Y=m
when we try to compile X if get an error because we cannot find a symbol from Y.
I think if X depends on Y, and X is forced to "y" then also Y should
be forced on "y".