Re: sound/soc/sof/intel/byt.c:1057: undefined reference to `sof_acpi_probe'

From: Pierre-Louis Bossart
Date: Tue Apr 27 2021 - 12:09:42 EST




On 4/27/21 6:10 AM, kernel test robot wrote:
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 4a0225c3d208cfa6e4550f2210ffd9114a952a81
commit: 8d4ba1be3d2257606e04aff412829d8972670750 ASoC: SOF: pci: split PCI into different drivers
date: 8 weeks ago
config: i386-randconfig-r024-20210426 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8d4ba1be3d2257606e04aff412829d8972670750
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 8d4ba1be3d2257606e04aff412829d8972670750
# save the attached .config to linux build tree
make W=1 W=1 ARCH=i386

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

ld: sound/soc/sof/intel/byt.o: in function `sof_baytrail_probe':
sound/soc/sof/intel/byt.c:1057: undefined reference to `sof_acpi_probe'
ld: sound/soc/sof/intel/byt.o:(.data+0x44): undefined reference to `sof_acpi_remove'
ld: sound/soc/sof/intel/byt.o:(.data+0x94): undefined reference to `sof_acpi_pm'

Ack, this is again the partition between Baytrail and Merrifield that's problematic in the corner case where ACPI is compiled as module and PCI as built-in. It's a bit academic since the PCI probe wouldn't work, but still it's not well partitioned.

I've been wanting to change this for a while, and split the common atom parts from the ACPI/PCI parts. I guess it's time to fix this for good.

vim +1057 sound/soc/sof/intel/byt.c

8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1032
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1033 static int sof_baytrail_probe(struct platform_device *pdev)
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1034 {
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1035 struct device *dev = &pdev->dev;
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1036 const struct sof_dev_desc *desc;
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1037 const struct acpi_device_id *id;
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1038 int ret;
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1039
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1040 id = acpi_match_device(dev->driver->acpi_match_table, dev);
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1041 if (!id)
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1042 return -ENODEV;
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1043
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1044 ret = snd_intel_acpi_dsp_driver_probe(dev, id->id);
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1045 if (ret != SND_INTEL_DSP_DRIVER_ANY && ret != SND_INTEL_DSP_DRIVER_SOF) {
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1046 dev_dbg(dev, "SOF ACPI driver not selected, aborting probe\n");
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1047 return -ENODEV;
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1048 }
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1049
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1050 desc = device_get_match_data(&pdev->dev);
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1051 if (!desc)
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1052 return -ENODEV;
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1053
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1054 if (desc == &sof_acpi_baytrail_desc && soc_intel_is_byt_cr(pdev))
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1055 desc = &sof_acpi_baytrailcr_desc;
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1056
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 @1057 return sof_acpi_probe(pdev, desc);
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1058 }
8a49cd11e68ed0 Arnd Bergmann 2021-03-01 1059

:::::: The code at line 1057 was first introduced by commit
:::::: 8a49cd11e68ed0e6a687de04d25c06553bf96b0c ASoC: SOF: ACPI: avoid reverse module dependency

:::::: TO: Arnd Bergmann <arnd@xxxxxxxx>
:::::: CC: Takashi Iwai <tiwai@xxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx