Re: linux-next: build failure after merge of the sound-asoc tree

From: Arnd Bergmann
Date: Tue Sep 28 2021 - 03:18:13 EST


On Tue, Sep 28, 2021 at 7:35 AM Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> Hi all,
>
> After merging the sound-asoc tree, today's linux-next build (powerpc
> allyesconfig) failed like this:
>
> ld: sound/soc/codecs/wm_adsp.o: in function `.wm_coeff_put':
> wm_adsp.c:(.text.wm_coeff_put+0x54): undefined reference to `.cs_dsp_coeff_write_ctrl'
> ld: sound/soc/codecs/wm_adsp.o: in function `.wm_adsp_write_ctl':
> (.text.wm_adsp_write_ctl+0x60): undefined reference to `.cs_dsp_get_ctl'
> ld: (.text.wm_adsp_write_ctl+0xb4): undefined reference to `.cs_dsp_coeff_write_ctrl'
> ld: sound/soc/codecs/wm_adsp.o: in function `.wm_adsp_read_ctl':
> (.text.wm_adsp_read_ctl+0x50): undefined reference to `.cs_dsp_get_ctl'

To spare everyone the search, the problem is in this bit:

--- a/drivers/firmware/Kconfig
+++ b/drivers/firmware/Kconfig
@@ -298,6 +298,7 @@ config TURRIS_MOX_RWTM

source "drivers/firmware/arm_ffa/Kconfig"
source "drivers/firmware/broadcom/Kconfig"
+source "drivers/firmware/cirrus/Kconfig"
source "drivers/firmware/google/Kconfig"
source "drivers/firmware/efi/Kconfig"
source "drivers/firmware/imx/Kconfig"

drivers/firmware/Kconfig is only included from arch/*/Kconfig for
certain architectures, rather than from drivers/Kconfig as most
other subdirectories are. This means the CONFIG_CS_DSP
symbol is not in the namespace of Kconfig and never gets
selected.

We just discussed this problem on IRC the other day as I
had the same issue. I think we should move all the
"source" statements for driver Kconfig files from architecture
specific inclusions to drivers/Kconfig.

Arnd