drivers/gpio/gpio-mxc.c:341:50: warning: shift count >= width of type

From: kernel test robot
Date: Sun Feb 26 2023 - 14:05:11 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 2fcd07b7ccd5fd10b2120d298363e4e6c53ccf9c
commit: 70afdab904d2d1e68bffe75fe08e7e48e0b0ff8e irqchip: Add IMX MU MSI controller driver
date: 5 months ago
config: i386-buildonly-randconfig-r006-20230227 (https://download.01.org/0day-ci/archive/20230227/202302270247.exJ9xqyM-lkp@xxxxxxxxx/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
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
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=70afdab904d2d1e68bffe75fe08e7e48e0b0ff8e
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 70afdab904d2d1e68bffe75fe08e7e48e0b0ff8e
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash arch/x86/kernel/ drivers/base/ drivers/gpio/ kernel/irq/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Link: https://lore.kernel.org/oe-kbuild-all/202302270247.exJ9xqyM-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

In file included from drivers/gpio/gpio-mxc.c:22:
include/linux/gpio/driver.h:31:19: error: field has incomplete type 'msi_alloc_info_t' (aka 'struct irq_alloc_info')
msi_alloc_info_t msiinfo;
^
arch/x86/include/asm/msi.h:7:16: note: forward declaration of 'struct irq_alloc_info'
typedef struct irq_alloc_info msi_alloc_info_t;
^
>> drivers/gpio/gpio-mxc.c:341:50: warning: shift count >= width of type [-Wshift-count-overflow]
rv = devm_irq_setup_generic_chip(port->dev, gc, IRQ_MSK(32),
^~~~~~~~~~~
include/linux/irq.h:1193:41: note: expanded from macro 'IRQ_MSK'
#define IRQ_MSK(n) (u32)((n) < 32 ? ((1 << (n)) - 1) : UINT_MAX)
^ ~~~
1 warning and 1 error generated.


vim +341 drivers/gpio/gpio-mxc.c

a3484ffd2acc19 arch/arm/plat-mxc/gpio.c Dinh Nguyen 2010-10-23 318
9e26b0b114adb3 drivers/gpio/gpio-mxc.c Peng Fan 2015-08-23 319 static int mxc_gpio_init_gc(struct mxc_gpio_port *port, int irq_base)
e4ea933363d39b drivers/gpio/gpio-mxc.c Shawn Guo 2011-06-07 320 {
e4ea933363d39b drivers/gpio/gpio-mxc.c Shawn Guo 2011-06-07 321 struct irq_chip_generic *gc;
e4ea933363d39b drivers/gpio/gpio-mxc.c Shawn Guo 2011-06-07 322 struct irq_chip_type *ct;
db5270acaae5b6 drivers/gpio/gpio-mxc.c Bartosz Golaszewski 2017-08-09 323 int rv;
e4ea933363d39b drivers/gpio/gpio-mxc.c Shawn Guo 2011-06-07 324
db5270acaae5b6 drivers/gpio/gpio-mxc.c Bartosz Golaszewski 2017-08-09 325 gc = devm_irq_alloc_generic_chip(port->dev, "gpio-mxc", 1, irq_base,
e4ea933363d39b drivers/gpio/gpio-mxc.c Shawn Guo 2011-06-07 326 port->base, handle_level_irq);
9e26b0b114adb3 drivers/gpio/gpio-mxc.c Peng Fan 2015-08-23 327 if (!gc)
9e26b0b114adb3 drivers/gpio/gpio-mxc.c Peng Fan 2015-08-23 328 return -ENOMEM;
e4ea933363d39b drivers/gpio/gpio-mxc.c Shawn Guo 2011-06-07 329 gc->private = port;
e4ea933363d39b drivers/gpio/gpio-mxc.c Shawn Guo 2011-06-07 330
e4ea933363d39b drivers/gpio/gpio-mxc.c Shawn Guo 2011-06-07 331 ct = gc->chip_types;
591567a5ea2585 drivers/gpio/gpio-mxc.c Shawn Guo 2011-07-19 332 ct->chip.irq_ack = irq_gc_ack_set_bit;
e4ea933363d39b drivers/gpio/gpio-mxc.c Shawn Guo 2011-06-07 333 ct->chip.irq_mask = irq_gc_mask_clr_bit;
e4ea933363d39b drivers/gpio/gpio-mxc.c Shawn Guo 2011-06-07 334 ct->chip.irq_unmask = irq_gc_mask_set_bit;
e4ea933363d39b drivers/gpio/gpio-mxc.c Shawn Guo 2011-06-07 335 ct->chip.irq_set_type = gpio_set_irq_type;
591567a5ea2585 drivers/gpio/gpio-mxc.c Shawn Guo 2011-07-19 336 ct->chip.irq_set_wake = gpio_set_wake_irq;
3093e6cca3ba7d drivers/gpio/gpio-mxc.c Loic Poulain 2021-06-17 337 ct->chip.flags = IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND;
e4ea933363d39b drivers/gpio/gpio-mxc.c Shawn Guo 2011-06-07 338 ct->regs.ack = GPIO_ISR;
e4ea933363d39b drivers/gpio/gpio-mxc.c Shawn Guo 2011-06-07 339 ct->regs.mask = GPIO_IMR;
e4ea933363d39b drivers/gpio/gpio-mxc.c Shawn Guo 2011-06-07 340
db5270acaae5b6 drivers/gpio/gpio-mxc.c Bartosz Golaszewski 2017-08-09 @341 rv = devm_irq_setup_generic_chip(port->dev, gc, IRQ_MSK(32),
db5270acaae5b6 drivers/gpio/gpio-mxc.c Bartosz Golaszewski 2017-08-09 342 IRQ_GC_INIT_NESTED_LOCK,
e4ea933363d39b drivers/gpio/gpio-mxc.c Shawn Guo 2011-06-07 343 IRQ_NOREQUEST, 0);
9e26b0b114adb3 drivers/gpio/gpio-mxc.c Peng Fan 2015-08-23 344
db5270acaae5b6 drivers/gpio/gpio-mxc.c Bartosz Golaszewski 2017-08-09 345 return rv;
e4ea933363d39b drivers/gpio/gpio-mxc.c Shawn Guo 2011-06-07 346 }
b5eee2fdefc89d arch/arm/plat-mxc/gpio.c Thomas Gleixner 2011-04-04 347

:::::: The code at line 341 was first introduced by commit
:::::: db5270acaae5b6d63ce1a6f053aeabc7a9c939bb gpio: mxc: use devres for irq generic chip

:::::: TO: Bartosz Golaszewski <brgl@xxxxxxxx>
:::::: CC: Linus Walleij <linus.walleij@xxxxxxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests