tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 8568bb2ccc278f344e6ac44af6ed010a90aa88dc commit: a806793f231e390510343837668d8f0eade75a72 [1149/4242] ASoC: amd: simplify soundwire dependencies for legacy stack config: x86_64-randconfig-r052-20230716 (https://download.01.org/0day-ci/archive/20240406/202404061257.khJml82D-lkp@xxxxxxxxx/config) compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240406/202404061257.khJml82D-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202404061257.khJml82D-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): ld: vmlinux.o: in function `amd_sdw_probe': >> sound/soc/amd/ps/pci-ps.c:271:(.text+0x1d51eff): undefined reference to `sdw_amd_probe' ld: vmlinux.o: in function `acp63_sdw_machine_select': >> sound/soc/amd/ps/pci-ps.c:294:(.text+0x1d525d5): undefined reference to `sdw_amd_get_slave_info' ld: vmlinux.o: in function `amd_sdw_exit': >> sound/soc/amd/ps/pci-ps.c:280:(.text+0x1d538ce): undefined reference to `sdw_amd_exit' vim +271 sound/soc/amd/ps/pci-ps.c eaf825037d6df8 Vijendar Mukunda 2024-02-14 253 eaf825037d6df8 Vijendar Mukunda 2024-02-14 254 static int amd_sdw_probe(struct device *dev) eaf825037d6df8 Vijendar Mukunda 2024-02-14 255 { eaf825037d6df8 Vijendar Mukunda 2024-02-14 256 struct acp63_dev_data *acp_data; eaf825037d6df8 Vijendar Mukunda 2024-02-14 257 struct sdw_amd_res sdw_res; eaf825037d6df8 Vijendar Mukunda 2024-02-14 258 int ret; eaf825037d6df8 Vijendar Mukunda 2024-02-14 259 eaf825037d6df8 Vijendar Mukunda 2024-02-14 260 acp_data = dev_get_drvdata(dev); eaf825037d6df8 Vijendar Mukunda 2024-02-14 261 memset(&sdw_res, 0, sizeof(sdw_res)); eaf825037d6df8 Vijendar Mukunda 2024-02-14 262 sdw_res.addr = acp_data->addr; eaf825037d6df8 Vijendar Mukunda 2024-02-14 263 sdw_res.reg_range = acp_data->reg_range; eaf825037d6df8 Vijendar Mukunda 2024-02-14 264 sdw_res.handle = acp_data->info.handle; eaf825037d6df8 Vijendar Mukunda 2024-02-14 265 sdw_res.parent = dev; eaf825037d6df8 Vijendar Mukunda 2024-02-14 266 sdw_res.dev = dev; eaf825037d6df8 Vijendar Mukunda 2024-02-14 267 sdw_res.acp_lock = &acp_data->acp_lock; eaf825037d6df8 Vijendar Mukunda 2024-02-14 268 sdw_res.count = acp_data->info.count; eaf825037d6df8 Vijendar Mukunda 2024-02-14 269 sdw_res.mmio_base = acp_data->acp63_base; eaf825037d6df8 Vijendar Mukunda 2024-02-14 270 sdw_res.link_mask = acp_data->info.link_mask; eaf825037d6df8 Vijendar Mukunda 2024-02-14 @271 ret = sdw_amd_probe(&sdw_res, &acp_data->sdw); eaf825037d6df8 Vijendar Mukunda 2024-02-14 272 if (ret) eaf825037d6df8 Vijendar Mukunda 2024-02-14 273 dev_err(dev, "error: SoundWire probe failed\n"); eaf825037d6df8 Vijendar Mukunda 2024-02-14 274 return ret; eaf825037d6df8 Vijendar Mukunda 2024-02-14 275 } eaf825037d6df8 Vijendar Mukunda 2024-02-14 276 eaf825037d6df8 Vijendar Mukunda 2024-02-14 277 static int amd_sdw_exit(struct acp63_dev_data *acp_data) eaf825037d6df8 Vijendar Mukunda 2024-02-14 278 { eaf825037d6df8 Vijendar Mukunda 2024-02-14 279 if (acp_data->sdw) eaf825037d6df8 Vijendar Mukunda 2024-02-14 @280 sdw_amd_exit(acp_data->sdw); eaf825037d6df8 Vijendar Mukunda 2024-02-14 281 acp_data->sdw = NULL; eaf825037d6df8 Vijendar Mukunda 2024-02-14 282 eaf825037d6df8 Vijendar Mukunda 2024-02-14 283 return 0; eaf825037d6df8 Vijendar Mukunda 2024-02-14 284 } bbf3e6145ea09c Vijendar Mukunda 2024-02-14 285 bbf3e6145ea09c Vijendar Mukunda 2024-02-14 286 static struct snd_soc_acpi_mach *acp63_sdw_machine_select(struct device *dev) bbf3e6145ea09c Vijendar Mukunda 2024-02-14 287 { bbf3e6145ea09c Vijendar Mukunda 2024-02-14 288 struct snd_soc_acpi_mach *mach; bbf3e6145ea09c Vijendar Mukunda 2024-02-14 289 const struct snd_soc_acpi_link_adr *link; bbf3e6145ea09c Vijendar Mukunda 2024-02-14 290 struct acp63_dev_data *acp_data = dev_get_drvdata(dev); bbf3e6145ea09c Vijendar Mukunda 2024-02-14 291 int ret, i; bbf3e6145ea09c Vijendar Mukunda 2024-02-14 292 bbf3e6145ea09c Vijendar Mukunda 2024-02-14 293 if (acp_data->info.count) { bbf3e6145ea09c Vijendar Mukunda 2024-02-14 @294 ret = sdw_amd_get_slave_info(acp_data->sdw); bbf3e6145ea09c Vijendar Mukunda 2024-02-14 295 if (ret) { bbf3e6145ea09c Vijendar Mukunda 2024-02-14 296 dev_dbg(dev, "failed to read slave information\n"); bbf3e6145ea09c Vijendar Mukunda 2024-02-14 297 return NULL; bbf3e6145ea09c Vijendar Mukunda 2024-02-14 298 } bbf3e6145ea09c Vijendar Mukunda 2024-02-14 299 for (mach = acp_data->machines; mach; mach++) { bbf3e6145ea09c Vijendar Mukunda 2024-02-14 300 if (!mach->links) bbf3e6145ea09c Vijendar Mukunda 2024-02-14 301 break; bbf3e6145ea09c Vijendar Mukunda 2024-02-14 302 link = mach->links; bbf3e6145ea09c Vijendar Mukunda 2024-02-14 303 for (i = 0; i < acp_data->info.count && link->num_adr; link++, i++) { bbf3e6145ea09c Vijendar Mukunda 2024-02-14 304 if (!snd_soc_acpi_sdw_link_slaves_found(dev, link, bbf3e6145ea09c Vijendar Mukunda 2024-02-14 305 acp_data->sdw->ids, bbf3e6145ea09c Vijendar Mukunda 2024-02-14 306 acp_data->sdw->num_slaves)) bbf3e6145ea09c Vijendar Mukunda 2024-02-14 307 break; bbf3e6145ea09c Vijendar Mukunda 2024-02-14 308 } bbf3e6145ea09c Vijendar Mukunda 2024-02-14 309 if (i == acp_data->info.count || !link->num_adr) bbf3e6145ea09c Vijendar Mukunda 2024-02-14 310 break; bbf3e6145ea09c Vijendar Mukunda 2024-02-14 311 } bbf3e6145ea09c Vijendar Mukunda 2024-02-14 312 if (mach && mach->link_mask) { bbf3e6145ea09c Vijendar Mukunda 2024-02-14 313 mach->mach_params.links = mach->links; bbf3e6145ea09c Vijendar Mukunda 2024-02-14 314 mach->mach_params.link_mask = mach->link_mask; bbf3e6145ea09c Vijendar Mukunda 2024-02-14 315 return mach; bbf3e6145ea09c Vijendar Mukunda 2024-02-14 316 } bbf3e6145ea09c Vijendar Mukunda 2024-02-14 317 } bbf3e6145ea09c Vijendar Mukunda 2024-02-14 318 dev_dbg(dev, "No SoundWire machine driver found\n"); bbf3e6145ea09c Vijendar Mukunda 2024-02-14 319 return NULL; bbf3e6145ea09c Vijendar Mukunda 2024-02-14 320 } 0386d765f27a1f Vijendar Mukunda 2024-02-14 321 #else 0386d765f27a1f Vijendar Mukunda 2024-02-14 322 static int acp_scan_sdw_devices(struct device *dev, u64 addr) 0386d765f27a1f Vijendar Mukunda 2024-02-14 323 { d1351c30ac8a6c Vijendar Mukunda 2023-06-12 324 return 0; d1351c30ac8a6c Vijendar Mukunda 2023-06-12 325 } eaf825037d6df8 Vijendar Mukunda 2024-02-14 326 :::::: The code at line 271 was first introduced by commit :::::: eaf825037d6df89811d43391be920bf6ad731463 ASoC: amd: ps: refactor acp child platform device creation code :::::: TO: Vijendar Mukunda <Vijendar.Mukunda@xxxxxxx> :::::: CC: Mark Brown <broonie@xxxxxxxxxx> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki