Hi Jacky, kernel test robot noticed the following build errors: [auto build test ERROR on pci/next] [also build test ERROR on pci/for-linus robh/for-next linusw-pinctrl/devel linusw-pinctrl/for-next linus/master v6.16-rc2 next-20250618] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Jacky-Chou/dt-bindings-phy-Add-document-for-ASPEED-PCIe-PHY/20250613-113331 base: https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git next patch link: https://lore.kernel.org/r/20250613033001.3153637-8-jacky_chou%40aspeedtech.com patch subject: [PATCH 7/7] pci: aspeed: Add ASPEED PCIe host controller driver config: x86_64-randconfig-007-20250619 (https://download.01.org/0day-ci/archive/20250619/202506191639.jNEto4NW-lkp@xxxxxxxxx/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250619/202506191639.jNEto4NW-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/202506191639.jNEto4NW-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): ld: vmlinux.o: in function `arch_setup_msi_irqs': >> drivers/pci/msi/legacy.c:31: undefined reference to `msi_domain_first_desc' >> ld: drivers/pci/msi/legacy.c:31: undefined reference to `msi_next_desc' ld: vmlinux.o: in function `arch_teardown_msi_irqs': drivers/pci/msi/legacy.c:45: undefined reference to `msi_domain_first_desc' ld: drivers/pci/msi/legacy.c:45: undefined reference to `msi_next_desc' ld: vmlinux.o: in function `pci_msi_setup_check_result': drivers/pci/msi/legacy.c:60: undefined reference to `msi_domain_first_desc' ld: drivers/pci/msi/legacy.c:60: undefined reference to `msi_next_desc' ld: vmlinux.o: in function `pci_msi_legacy_setup_msi_irqs': >> drivers/pci/msi/legacy.c:72: undefined reference to `msi_device_populate_sysfs' ld: vmlinux.o: in function `pci_msi_legacy_teardown_msi_irqs': >> drivers/pci/msi/legacy.c:78: undefined reference to `msi_device_destroy_sysfs' vim +31 drivers/pci/msi/legacy.c a01e09ef123789 Thomas Gleixner 2021-12-06 18 a01e09ef123789 Thomas Gleixner 2021-12-06 19 int __weak arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) a01e09ef123789 Thomas Gleixner 2021-12-06 20 { a01e09ef123789 Thomas Gleixner 2021-12-06 21 struct msi_desc *desc; a01e09ef123789 Thomas Gleixner 2021-12-06 22 int ret; a01e09ef123789 Thomas Gleixner 2021-12-06 23 a01e09ef123789 Thomas Gleixner 2021-12-06 24 /* a01e09ef123789 Thomas Gleixner 2021-12-06 25 * If an architecture wants to support multiple MSI, it needs to a01e09ef123789 Thomas Gleixner 2021-12-06 26 * override arch_setup_msi_irqs() a01e09ef123789 Thomas Gleixner 2021-12-06 27 */ a01e09ef123789 Thomas Gleixner 2021-12-06 28 if (type == PCI_CAP_ID_MSI && nvec > 1) a01e09ef123789 Thomas Gleixner 2021-12-06 29 return 1; a01e09ef123789 Thomas Gleixner 2021-12-06 30 ae24e28fef1468 Thomas Gleixner 2021-12-06 @31 msi_for_each_desc(desc, &dev->dev, MSI_DESC_NOTASSOCIATED) { a01e09ef123789 Thomas Gleixner 2021-12-06 32 ret = arch_setup_msi_irq(dev, desc); a01e09ef123789 Thomas Gleixner 2021-12-06 33 if (ret) a01e09ef123789 Thomas Gleixner 2021-12-06 34 return ret < 0 ? ret : -ENOSPC; a01e09ef123789 Thomas Gleixner 2021-12-06 35 } a01e09ef123789 Thomas Gleixner 2021-12-06 36 a01e09ef123789 Thomas Gleixner 2021-12-06 37 return 0; a01e09ef123789 Thomas Gleixner 2021-12-06 38 } a01e09ef123789 Thomas Gleixner 2021-12-06 39 a01e09ef123789 Thomas Gleixner 2021-12-06 40 void __weak arch_teardown_msi_irqs(struct pci_dev *dev) a01e09ef123789 Thomas Gleixner 2021-12-06 41 { a01e09ef123789 Thomas Gleixner 2021-12-06 42 struct msi_desc *desc; a01e09ef123789 Thomas Gleixner 2021-12-06 43 int i; a01e09ef123789 Thomas Gleixner 2021-12-06 44 ae24e28fef1468 Thomas Gleixner 2021-12-06 45 msi_for_each_desc(desc, &dev->dev, MSI_DESC_ASSOCIATED) { a01e09ef123789 Thomas Gleixner 2021-12-06 46 for (i = 0; i < desc->nvec_used; i++) a01e09ef123789 Thomas Gleixner 2021-12-06 47 arch_teardown_msi_irq(desc->irq + i); a01e09ef123789 Thomas Gleixner 2021-12-06 48 } a01e09ef123789 Thomas Gleixner 2021-12-06 49 } aa423ac4221abd Thomas Gleixner 2021-12-06 50 60bf9b33c82c0e Thomas Gleixner 2021-12-06 51 static int pci_msi_setup_check_result(struct pci_dev *dev, int type, int ret) 60bf9b33c82c0e Thomas Gleixner 2021-12-06 52 { ae24e28fef1468 Thomas Gleixner 2021-12-06 53 struct msi_desc *desc; 60bf9b33c82c0e Thomas Gleixner 2021-12-06 54 int avail = 0; 60bf9b33c82c0e Thomas Gleixner 2021-12-06 55 60bf9b33c82c0e Thomas Gleixner 2021-12-06 56 if (type != PCI_CAP_ID_MSIX || ret >= 0) 60bf9b33c82c0e Thomas Gleixner 2021-12-06 57 return ret; 60bf9b33c82c0e Thomas Gleixner 2021-12-06 58 60bf9b33c82c0e Thomas Gleixner 2021-12-06 59 /* Scan the MSI descriptors for successfully allocated ones. */ ae24e28fef1468 Thomas Gleixner 2021-12-06 60 msi_for_each_desc(desc, &dev->dev, MSI_DESC_ASSOCIATED) 60bf9b33c82c0e Thomas Gleixner 2021-12-06 61 avail++; ae24e28fef1468 Thomas Gleixner 2021-12-06 62 60bf9b33c82c0e Thomas Gleixner 2021-12-06 63 return avail ? avail : ret; 60bf9b33c82c0e Thomas Gleixner 2021-12-06 64 } 60bf9b33c82c0e Thomas Gleixner 2021-12-06 65 aa423ac4221abd Thomas Gleixner 2021-12-06 66 int pci_msi_legacy_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) aa423ac4221abd Thomas Gleixner 2021-12-06 67 { 60bf9b33c82c0e Thomas Gleixner 2021-12-06 68 int ret = arch_setup_msi_irqs(dev, nvec, type); 60bf9b33c82c0e Thomas Gleixner 2021-12-06 69 ffd84485e6beb9 Thomas Gleixner 2021-12-10 70 ret = pci_msi_setup_check_result(dev, type, ret); ffd84485e6beb9 Thomas Gleixner 2021-12-10 71 if (!ret) ffd84485e6beb9 Thomas Gleixner 2021-12-10 @72 ret = msi_device_populate_sysfs(&dev->dev); ffd84485e6beb9 Thomas Gleixner 2021-12-10 73 return ret; aa423ac4221abd Thomas Gleixner 2021-12-06 74 } aa423ac4221abd Thomas Gleixner 2021-12-06 75 aa423ac4221abd Thomas Gleixner 2021-12-06 76 void pci_msi_legacy_teardown_msi_irqs(struct pci_dev *dev) aa423ac4221abd Thomas Gleixner 2021-12-06 77 { ffd84485e6beb9 Thomas Gleixner 2021-12-10 @78 msi_device_destroy_sysfs(&dev->dev); -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki