tree: https://github.com/ammarfaizi2/linux-block tglx/devel/devmsi head: ba77f809fa66b636222f6677ec7cf8faa1562fe7 commit: 628d73d887267dafa93dc4162fc3bcf1c9e12107 [68/86] x86/apic/vector: Provide MSI parent domain config: x86_64-allyesconfig compiler: gcc-11 (Debian 11.3.0-8) 11.3.0 reproduce (this is a W=1 build): # https://github.com/ammarfaizi2/linux-block/commit/628d73d887267dafa93dc4162fc3bcf1c9e12107 git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block git fetch --no-tags ammarfaizi2-block tglx/devel/devmsi git checkout 628d73d887267dafa93dc4162fc3bcf1c9e12107 # save the config file mkdir build_dir && cp config build_dir/.config make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash arch/x86/kernel/apic/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All warnings (new ones prefixed by >>): >> arch/x86/kernel/apic/msi.c:207: warning: expecting prototype for x86_vector_init_dev_msi_info(). Prototype was for x86_init_dev_msi_info() instead vim +207 arch/x86/kernel/apic/msi.c 193 194 /** 195 * x86_vector_init_dev_msi_info - Domain info setup for MSI domains 196 * @domain: The (root) domain providing this callback 197 * @real_parent: The real parent domain of the to initialize domain 198 * @info: The domain info for the to initialize domain 199 * 200 * This function is to be used for all types of MSI domains above the x86 201 * vector domain and any intermediates. The domain specific functionality 202 * is determined via the @real_parent. 203 */ 204 static bool x86_init_dev_msi_info(struct irq_domain *domain, 205 struct irq_domain *real_parent, 206 struct msi_domain_info *info) > 207 { 208 const struct msi_parent_ops *pops = real_parent->msi_parent_ops; 209 210 /* MSI parent domain specific settings */ 211 switch (real_parent->bus_token) { 212 case DOMAIN_BUS_ANY: 213 /* Only the vector domain can have the ANY token */ 214 if (WARN_ON_ONCE(domain != real_parent)) 215 return false; 216 info->chip->irq_set_affinity = msi_set_affinity; 217 break; 218 default: 219 WARN_ON_ONCE(1); 220 return false; 221 } 222 223 /* Is the target supported? */ 224 switch(info->bus_token) { 225 case DOMAIN_BUS_PCI_DEVICE_MSI: 226 case DOMAIN_BUS_PCI_DEVICE_MSIX: 227 break; 228 default: 229 WARN_ON_ONCE(1); 230 return false; 231 } 232 233 /* 234 * Mask out the domain specific MSI feature flags which are not 235 * supported by the real parent. 236 */ 237 info->flags &= pops->supported_flags; 238 /* Enforce the required flags */ 239 info->flags |= X86_VECTOR_MSI_FLAGS_REQUIRED; 240 241 /* This is always invoked from the top level MSI domain! */ 242 info->ops->msi_prepare = x86_msi_prepare; 243 244 info->chip->irq_ack = irq_chip_ack_parent; 245 info->chip->irq_retrigger = irq_chip_retrigger_hierarchy; 246 info->chip->flags |= IRQCHIP_SKIP_SET_WAKE | 247 IRQCHIP_AFFINITY_PRE_STARTUP; 248 249 info->handler = handle_edge_irq; 250 info->handler_name = "edge"; 251 252 return true; 253 } 254 -- 0-DAY CI Kernel Test Service https://01.org/lkp