Hi Ali, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on linux/master v5.7-rc7] [cannot apply to tip/irq/core arm-jcooper/irqchip/for-next next-20200529] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Ali-Saidi/irqchip-gic-v3-its-Don-t-try-to-move-a-disabled-irq/20200531-043957 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 86852175b016f0c6873dcbc24b93d12b7b246612 config: arm64-allyesconfig (attached as .config) compiler: aarch64-linux-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64 If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot All warnings (new ones prefixed by >>, old ones prefixed by <<): drivers/irqchip/irq-gic-v3-its.c: In function 'its_irq_domain_activate': >> drivers/irqchip/irq-gic-v3-its.c:3449:14: warning: passing argument 1 of 'cpumask_and' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 3449 | cpumask_and(cpu_mask, cpu_mask, cpu_online_mask); | ^~~~~~~~ In file included from include/linux/rcupdate.h:31, from include/linux/radix-tree.h:15, from include/linux/idr.h:15, from include/linux/kernfs.h:13, from include/linux/sysfs.h:16, from include/linux/kobject.h:20, from include/linux/of.h:17, from include/linux/irqdomain.h:35, from include/linux/acpi.h:13, from drivers/irqchip/irq-gic-v3-its.c:7: include/linux/cpumask.h:424:47: note: expected 'struct cpumask *' but argument is of type 'const struct cpumask *' 424 | static inline int cpumask_and(struct cpumask *dstp, | ~~~~~~~~~~~~~~~~^~~~ In file included from include/linux/bits.h:23, from include/linux/ioport.h:15, from include/linux/acpi.h:12, from drivers/irqchip/irq-gic-v3-its.c:7: drivers/irqchip/irq-gic-v3-its.c: In function 'its_init_vpe_domain': include/linux/bits.h:26:28: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] 26 | __builtin_constant_p((l) > (h)), (l) > (h), 0))) | ^ include/linux/build_bug.h:16:62: note: in definition of macro 'BUILD_BUG_ON_ZERO' 16 | #define BUILD_BUG_ON_ZERO(e) ((int)(sizeof(struct { int:(-!!(e)); }))) | ^ include/linux/bits.h:39:3: note: in expansion of macro 'GENMASK_INPUT_CHECK' 39 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^~~~~~~~~~~~~~~~~~~ drivers/irqchip/irq-gic-v3-its.c:4765:10: note: in expansion of macro 'GENMASK' 4765 | devid = GENMASK(device_ids(its) - 1, 0); | ^~~~~~~ include/linux/bits.h:26:40: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] 26 | __builtin_constant_p((l) > (h)), (l) > (h), 0))) | ^ include/linux/build_bug.h:16:62: note: in definition of macro 'BUILD_BUG_ON_ZERO' 16 | #define BUILD_BUG_ON_ZERO(e) ((int)(sizeof(struct { int:(-!!(e)); }))) | ^ include/linux/bits.h:39:3: note: in expansion of macro 'GENMASK_INPUT_CHECK' 39 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^~~~~~~~~~~~~~~~~~~ drivers/irqchip/irq-gic-v3-its.c:4765:10: note: in expansion of macro 'GENMASK' 4765 | devid = GENMASK(device_ids(its) - 1, 0); | ^~~~~~~ vim +3449 drivers/irqchip/irq-gic-v3-its.c 3433 3434 static int its_irq_domain_activate(struct irq_domain *domain, 3435 struct irq_data *d, bool reserve) 3436 { 3437 struct its_device *its_dev = irq_data_get_irq_chip_data(d); 3438 u32 event = its_get_event_id(d); 3439 const struct cpumask *cpu_mask = cpu_online_mask; 3440 int cpu; 3441 3442 /* get the cpu_mask of local node */ 3443 if (its_dev->its->numa_node >= 0) 3444 cpu_mask = cpumask_of_node(its_dev->its->numa_node); 3445 3446 /* If the cpu set to a different CPU that is still online use it */ 3447 cpu = its_dev->event_map.col_map[event]; 3448 > 3449 cpumask_and(cpu_mask, cpu_mask, cpu_online_mask); 3450 3451 if (!cpumask_test_cpu(cpu, cpu_mask)) { 3452 /* Bind the LPI to the first possible CPU */ 3453 cpu = cpumask_first(cpu_mask); 3454 } 3455 3456 if (cpu >= nr_cpu_ids) { 3457 if (its_dev->its->flags & ITS_FLAGS_WORKAROUND_CAVIUM_23144) 3458 return -EINVAL; 3459 3460 cpu = cpumask_first(cpu_online_mask); 3461 } 3462 3463 its_dev->event_map.col_map[event] = cpu; 3464 irq_data_update_effective_affinity(d, cpumask_of(cpu)); 3465 3466 /* Map the GIC IRQ and event to the device */ 3467 its_send_mapti(its_dev, d->hwirq, event); 3468 return 0; 3469 } 3470 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org