All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: kbuild-all@lists.01.org
Subject: Re: sound/soc/sof/intel/byt.c:1057: undefined reference to `sof_acpi_probe'
Date: Tue, 27 Apr 2021 11:07:42 -0500	[thread overview]
Message-ID: <1d9958ea-aaae-0e45-7009-f12e4a4ae325@linux.intel.com> (raw)
In-Reply-To: <202104271905.1C7oj9q3-lkp@intel.com>

[-- Attachment #1: Type: text/plain, Size: 4309 bytes --]



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@intel.com>
> 
> 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@arndb.de>
> :::::: CC: Takashi Iwai <tiwai@suse.de>
> 
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
> 

WARNING: multiple messages have this Message-ID (diff)
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: kernel test robot <lkp@intel.com>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
	Takashi Iwai <tiwai@suse.de>,
	Kai Vehmanen <kai.vehmanen@linux.intel.com>,
	Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>,
	Bard Liao <bard.liao@intel.com>, Arnd Bergmann <arnd@arndb.de>,
	Mark Brown <broonie@kernel.org>,
	Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Subject: Re: sound/soc/sof/intel/byt.c:1057: undefined reference to `sof_acpi_probe'
Date: Tue, 27 Apr 2021 11:07:42 -0500	[thread overview]
Message-ID: <1d9958ea-aaae-0e45-7009-f12e4a4ae325@linux.intel.com> (raw)
In-Reply-To: <202104271905.1C7oj9q3-lkp@intel.com>



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@intel.com>
> 
> 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@arndb.de>
> :::::: CC: Takashi Iwai <tiwai@suse.de>
> 
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
> 

  reply	other threads:[~2021-04-27 16:07 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-27 11:10 sound/soc/sof/intel/byt.c:1057: undefined reference to `sof_acpi_probe' kernel test robot
2021-04-27 11:10 ` kernel test robot
2021-04-27 16:07 ` Pierre-Louis Bossart [this message]
2021-04-27 16:07   ` Pierre-Louis Bossart
2021-04-27 18:42   ` Arnd Bergmann
2021-04-27 18:42     ` Arnd Bergmann
2021-04-27 19:13     ` Pierre-Louis Bossart
2021-04-27 19:13       ` Pierre-Louis Bossart
2021-04-27 20:01       ` Arnd Bergmann
2021-04-27 20:01         ` Arnd Bergmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1d9958ea-aaae-0e45-7009-f12e4a4ae325@linux.intel.com \
    --to=pierre-louis.bossart@linux.intel.com \
    --cc=kbuild-all@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.