On Tue, Feb 11, 2020 at 11:59 AM Krzysztof Kozlowski krzk@kernel.org wrote:
On Tue, 11 Feb 2020 at 10:46, Daniel Baluta daniel.baluta@gmail.com wrote:
On Tue, Feb 11, 2020 at 3:59 AM Yuehaibing yuehaibing@huawei.com 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@huawei.com Fixes: f9ad75468453 ("ASoC: SOF: imx: fix reverse CONFIG_SND_SOC_SOF_OF dependency") Signed-off-by: YueHaibing yuehaibing@huawei.com
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@nxp.com 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@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
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".