I have not done as much randconfig tested recently as I used to, but since I ramped up the rate again after the merge window, I have unfortunately once more run into a variation of this problem, with CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE=m and CONFIG_SND_SOC_SOF_HDA_COMMON=y:
x86_64-linux-ld: sound/soc/sof/intel/hda.o: in function `hda_dsp_interrupt_thread': hda.c:(.text+0x739): undefined reference to `sdw_intel_thread' x86_64-linux-ld: hda.c:(.text+0x764): undefined reference to `sdw_intel_process_wakeen_event' x86_64-linux-ld: sound/soc/sof/intel/hda.o: in function `hda_sdw_int_enable': hda.c:(.text+0x782): undefined reference to `sdw_intel_enable_irq' x86_64-linux-ld: sound/soc/sof/intel/hda.o: in function `hda_sdw_startup': hda.c:(.text+0x7ac): undefined reference to `sdw_intel_startup' x86_64-linux-ld: sound/soc/sof/intel/hda.o: in function `hda_sdw_process_wakeen': hda.c:(.text+0x7dc): undefined reference to `sdw_intel_process_wakeen_event' x86_64-linux-ld: sound/soc/sof/intel/hda.o: in function `hda_dsp_probe': hda.c:(.text+0xee1): undefined reference to `sdw_intel_probe' x86_64-linux-ld: sound/soc/sof/intel/hda.o: in function `hda_dsp_remove': hda.c:(.text+0xf7f): undefined reference to `sdw_intel_enable_irq' x86_64-linux-ld: hda.c:(.text+0xf8e): undefined reference to `sdw_intel_exit'
This only seems to appear very rarely, as I still did around 25000 randconfig builds since you merged the series, but this config does show the problem for any kernel version between the fix and the latest linux-next:
https://pastebin.com/raw/VCjcB3EU
I have only done the quick bisection but no analysis regarding what we may have missed back in March. I hope you can figure this out.
Thanks for this report Arnd.
I can reproduce the problem, the changes made 6 months back don't make too much sense to me any longer. I have really no idea why I moved the INTEL_SOUNDWIRE config to a boolean, that was asking for trouble.
I have a tentative fix being tested at https://github.com/thesofproject/linux/pull/3066. I just moved the select operations to a different option and reverted the INTEL_SOUNDWIRE config to be an on/off switch from the user perspective, with dependencies on built-in v. module checked inside.