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-7-9671b136f2b8%40nxp.com patch subject: [PATCH v14 07/15] PCI: endpoint: pci-ep-msi: Add MSI address/data pair mutable check config: i386-buildonly-randconfig-003-20250208 (https://download.01.org/0day-ci/archive/20250208/202502082242.pOq1hB1d-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/202502082242.pOq1hB1d-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/202502082242.pOq1hB1d-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:49:14: error: implicit declaration of function 'irq_domain_is_msi_immutable'; did you mean 'irq_domain_is_msi_device'? [-Werror=implicit-function-declaration] 49 | if (!irq_domain_is_msi_immutable(dom)) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | irq_domain_is_msi_device drivers/pci/endpoint/pci-ep-msi.c:61:15: error: implicit declaration of function 'platform_device_msi_init_and_alloc_irqs' [-Werror=implicit-function-declaration] 61 | 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:83:9: error: implicit declaration of function 'platform_device_msi_free_irqs_all' [-Werror=implicit-function-declaration] 83 | platform_device_msi_free_irqs_all(&epf->dev); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +49 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 if (!irq_domain_is_msi_parent(dom)) 47 return -EINVAL; 48 > 49 if (!irq_domain_is_msi_immutable(dom)) { 50 dev_err(dev, "Can't support mutable address/data pair MSI controller\n"); 51 return -EINVAL; 52 } 53 54 msg = kcalloc(num_db, sizeof(struct pci_epf_doorbell_msg), GFP_KERNEL); 55 if (!msg) 56 return -ENOMEM; 57 58 epf->num_db = num_db; 59 epf->db_msg = msg; 60 61 ret = platform_device_msi_init_and_alloc_irqs(&epf->dev, num_db, pci_epf_write_msi_msg); 62 if (ret) { 63 /* 64 * The pcie_ep DT node has to specify 'msi-parent' for EP 65 * doorbell support to work. Right now only GIC ITS is 66 * supported. If you have GIC ITS and reached this print, 67 * perhaps you are missing 'msi-map' in DT. 68 */ 69 dev_err(dev, "Failed to allocate MSI\n"); 70 kfree(msg); 71 return -ENOMEM; 72 } 73 74 for (i = 0; i < num_db; i++) 75 epf->db_msg[i].virq = msi_get_virq(dev, i); 76 77 return ret; 78 } 79 EXPORT_SYMBOL_GPL(pci_epf_alloc_doorbell); 80 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki