Hi Frank, kernel test robot noticed the following build errors: [auto build test ERROR on 00f3246adeeacbda0bd0b303604e46eb59c32e6e] url: https://github.com/intel-lab-lkp/linux/commits/Frank-Li/platform-msi-Add-msi_remove_device_irq_domain-in-platform_device_msi_free_irqs_all/20250208-034445 base: 00f3246adeeacbda0bd0b303604e46eb59c32e6e patch link: https://lore.kernel.org/r/20250207-ep-msi-v14-6-9671b136f2b8%40nxp.com patch subject: [PATCH v14 06/15] PCI: endpoint: Add RC-to-EP doorbell support using platform MSI controller config: i386-buildonly-randconfig-003-20250208 (https://download.01.org/0day-ci/archive/20250208/202502082204.6PRR3cfG-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/20250208/202502082204.6PRR3cfG-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/202502082204.6PRR3cfG-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): drivers/pci/endpoint/pci-ep-msi.c: In function 'pci_epf_alloc_doorbell': >> drivers/pci/endpoint/pci-ep-msi.c:53:15: error: implicit declaration of function 'platform_device_msi_init_and_alloc_irqs' [-Werror=implicit-function-declaration] 53 | ret = platform_device_msi_init_and_alloc_irqs(&epf->dev, num_db, pci_epf_write_msi_msg); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/pci/endpoint/pci-ep-msi.c: In function 'pci_epf_free_doorbell': >> drivers/pci/endpoint/pci-ep-msi.c:75:9: error: implicit declaration of function 'platform_device_msi_free_irqs_all' [-Werror=implicit-function-declaration] 75 | platform_device_msi_free_irqs_all(&epf->dev); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/platform_device_msi_init_and_alloc_irqs +53 drivers/pci/endpoint/pci-ep-msi.c 26 27 int pci_epf_alloc_doorbell(struct pci_epf *epf, u16 num_db) 28 { 29 struct pci_epc *epc = epf->epc; 30 struct device *dev = &epf->dev; 31 struct irq_domain *dom; 32 void *msg; 33 u32 rid; 34 int ret; 35 int i; 36 37 rid = PCI_EPF_DEVID(epf->func_no, epf->vfunc_no); 38 dom = of_msi_map_get_device_domain(epc->dev.parent, rid, DOMAIN_BUS_PLATFORM_MSI); 39 if (!dom) { 40 dev_err(dev, "Can't find msi domain\n"); 41 return -EINVAL; 42 } 43 44 dev_set_msi_domain(dev, dom); 45 46 msg = kcalloc(num_db, sizeof(struct pci_epf_doorbell_msg), GFP_KERNEL); 47 if (!msg) 48 return -ENOMEM; 49 50 epf->num_db = num_db; 51 epf->db_msg = msg; 52 > 53 ret = platform_device_msi_init_and_alloc_irqs(&epf->dev, num_db, pci_epf_write_msi_msg); 54 if (ret) { 55 /* 56 * The pcie_ep DT node has to specify 'msi-parent' for EP 57 * doorbell support to work. Right now only GIC ITS is 58 * supported. If you have GIC ITS and reached this print, 59 * perhaps you are missing 'msi-map' in DT. 60 */ 61 dev_err(dev, "Failed to allocate MSI\n"); 62 kfree(msg); 63 return -ENOMEM; 64 } 65 66 for (i = 0; i < num_db; i++) 67 epf->db_msg[i].virq = msi_get_virq(dev, i); 68 69 return ret; 70 } 71 EXPORT_SYMBOL_GPL(pci_epf_alloc_doorbell); 72 73 void pci_epf_free_doorbell(struct pci_epf *epf) 74 { > 75 platform_device_msi_free_irqs_all(&epf->dev); -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki