Re: [PATCH] irqchip/mbigen: add COMPILE_TEST support

From: Rosen Penev

Date: Sat May 09 2026 - 17:59:32 EST


On Sat, May 9, 2026 at 2:50 PM kernel test robot <lkp@xxxxxxxxx> wrote:
>
> Hi Rosen,
>
> kernel test robot noticed the following build errors:
>
> [auto build test ERROR on tip/irq/core]
> [also build test ERROR on linus/master v7.1-rc2 next-20260508]
> [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/Rosen-Penev/irqchip-mbigen-add-COMPILE_TEST-support/20260509-194636
> base: tip/irq/core
> patch link: https://lore.kernel.org/r/20260508021352.1635187-1-rosenp%40gmail.com
> patch subject: [PATCH] irqchip/mbigen: add COMPILE_TEST support
> config: hexagon-allmodconfig (https://download.01.org/0day-ci/archive/20260510/202605100511.0RiOjmqk-lkp@xxxxxxxxx/config)
> compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260510/202605100511.0RiOjmqk-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/202605100511.0RiOjmqk-lkp@xxxxxxxxx/
>
> All errors (new ones prefixed by >>):
>
> drivers/irqchip/irq-mbigen.c:195:36: error: unknown type name 'msi_alloc_info_t'
> 195 | static void mbigen_domain_set_desc(msi_alloc_info_t *arg, struct msi_desc *desc)
> | ^
> >> drivers/irqchip/irq-mbigen.c:218:14: error: use of undeclared identifier 'MSI_FLAG_USE_DEV_FWNODE'
> 218 | .flags = MSI_FLAG_USE_DEV_FWNODE,
> | ^
> >> drivers/irqchip/irq-mbigen.c:201:41: error: variable has incomplete type 'const struct msi_domain_template'
> 201 | static const struct msi_domain_template mbigen_msi_template = {
> | ^
> drivers/irqchip/irq-mbigen.c:201:21: note: forward declaration of 'struct msi_domain_template'
> 201 | static const struct msi_domain_template mbigen_msi_template = {
> | ^
> >> drivers/irqchip/irq-mbigen.c:225:29: error: no member named 'domain' in 'struct dev_msi_info'
> 225 | if (WARN_ON_ONCE(!dev->msi.domain))
> | ~~~~~~~~ ^
> include/asm-generic/bug.h:180:18: note: expanded from macro 'WARN_ON_ONCE'
> 180 | DO_ONCE_LITE_IF(condition, WARN_ON, 1)
> | ^~~~~~~~~
> include/linux/once_lite.h:28:27: note: expanded from macro 'DO_ONCE_LITE_IF'
> 28 | bool __ret_do_once = !!(condition); \
> | ^~~~~~~~~
> >> drivers/irqchip/irq-mbigen.c:228:9: error: call to undeclared function 'msi_create_device_irq_domain'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
> 228 | return msi_create_device_irq_domain(dev, MSI_DEFAULT_DOMAIN,
> | ^
> drivers/irqchip/irq-mbigen.c:228:9: note: did you mean 'mbigen_create_device_domain'?
> drivers/irqchip/irq-mbigen.c:222:13: note: 'mbigen_create_device_domain' declared here
> 222 | static bool mbigen_create_device_domain(struct device *dev, unsigned int size,
> | ^
> 223 | struct mbigen_device *mgn_chip)
> 224 | {
> 225 | if (WARN_ON_ONCE(!dev->msi.domain))
> 226 | return false;
> 227 |
> 228 | return msi_create_device_irq_domain(dev, MSI_DEFAULT_DOMAIN,
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | mbigen_create_device_domain
> 5 errors generated.
Needs select GENERIC_MSI_IRQ looks like.
>
>
> vim +/MSI_FLAG_USE_DEV_FWNODE +218 drivers/irqchip/irq-mbigen.c
>
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 200
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 @201 static const struct msi_domain_template mbigen_msi_template = {
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 202 .chip = {
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 203 .name = "mbigen-v2",
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 204 .irq_mask = irq_chip_mask_parent,
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 205 .irq_unmask = irq_chip_unmask_parent,
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 206 .irq_eoi = mbigen_eoi_irq,
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 207 .irq_set_type = mbigen_set_type,
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 208 .irq_write_msi_msg = mbigen_write_msi_msg,
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 209 },
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 210
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 211 .ops = {
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 212 .set_desc = mbigen_domain_set_desc,
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 213 .msi_translate = mbigen_domain_translate,
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 214 },
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 215
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 216 .info = {
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 217 .bus_token = DOMAIN_BUS_WIRED_TO_MSI,
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 @218 .flags = MSI_FLAG_USE_DEV_FWNODE,
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 219 },
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 220 };
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 221
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 222 static bool mbigen_create_device_domain(struct device *dev, unsigned int size,
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 223 struct mbigen_device *mgn_chip)
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 224 {
> 752e021f5b9be0a Thomas Gleixner 2024-06-23 @225 if (WARN_ON_ONCE(!dev->msi.domain))
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 226 return false;
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 227
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 @228 return msi_create_device_irq_domain(dev, MSI_DEFAULT_DOMAIN,
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 229 &mbigen_msi_template, size,
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 230 NULL, mgn_chip->base);
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 231 }
> fbfe7e13641efe8 Thomas Gleixner 2024-06-23 232
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki