[xlnx:xlnx_rebase_v5.4 1116/1760] drivers/gpio/gpio-xilinx.c:377:12: warning: conversion from 'long unsigned int' to 'u32' {aka 'unsigned int'} changes value from '18446744071562067967' to '2147483647'

kernel test robot lkp at intel.com
Thu May 27 06:40:04 PDT 2021


Hi Srinivas,

FYI, the error/warning still remains.

tree:   https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.4
head:   971e12809eee20685e4d8f6a4ecf466acac3e278
commit: 256f37f6020654ff3d8044852f75542882301a26 [1116/1760] gpio: xilinx: Add irq support to the driver
config: sparc-randconfig-r026-20210526 (attached as .config)
compiler: sparc64-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
        # https://github.com/Xilinx/linux-xlnx/commit/256f37f6020654ff3d8044852f75542882301a26
        git remote add xlnx https://github.com/Xilinx/linux-xlnx
        git fetch --no-tags xlnx xlnx_rebase_v5.4
        git checkout 256f37f6020654ff3d8044852f75542882301a26
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sparc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>

All warnings (new ones prefixed by >>):

   drivers/gpio/gpio-xilinx.c: In function 'xgpio_irq_mask':
>> drivers/gpio/gpio-xilinx.c:377:12: warning: conversion from 'long unsigned int' to 'u32' {aka 'unsigned int'} changes value from '18446744071562067967' to '2147483647' [-Woverflow]
     377 |            ~XGPIO_GIER_IE);
   drivers/gpio/gpio-xilinx.c:42:51: note: in definition of macro 'xgpio_writereg'
      42 | # define xgpio_writereg(offset, val) __raw_writel(val, offset)
         |                                                   ^~~
   drivers/gpio/gpio-xilinx.c: In function 'xgpio_irqhandler':
   drivers/gpio/gpio-xilinx.c:472:14: warning: variable 'status' set but not used [-Wunused-but-set-variable]
     472 |  u32 offset, status, channel = 1;
         |              ^~~~~~

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for COMPAT_BINFMT_ELF
   Depends on COMPAT && BINFMT_ELF
   Selected by
   - COMPAT && SPARC64
   WARNING: unmet direct dependencies detected for FRAME_POINTER
   Depends on DEBUG_KERNEL && (M68K || UML || SUPERH) || ARCH_WANT_FRAME_POINTERS || MCOUNT
   Selected by
   - LOCKDEP && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT && !MIPS && !PPC && !ARM && !S390 && !MICROBLAZE && !ARC && !X86


vim +377 drivers/gpio/gpio-xilinx.c

   342	
   343	/**
   344	 * xgpiops_irq_mask - Write the specified signal of the GPIO device.
   345	 * @irq_data: per irq and chip data passed down to chip functions
   346	 */
   347	static void xgpio_irq_mask(struct irq_data *irq_data)
   348	{
   349		unsigned long flags;
   350		struct xgpio_instance *chip = irq_data_get_irq_chip_data(irq_data);
   351		u32 offset = irq_data->irq - chip->irq_base;
   352		u32 temp;
   353		s32 val;
   354		int index = xgpio_index(chip, 0);
   355	
   356		pr_debug("%s: Disable %d irq, irq_enable_mask 0x%x\n",
   357			 __func__, offset, chip->irq_enable);
   358	
   359		spin_lock_irqsave(&chip->gpio_lock[index], flags);
   360	
   361		chip->irq_enable &= ~BIT(offset);
   362	
   363		if (!chip->irq_enable) {
   364			/* Enable per channel interrupt */
   365			temp = xgpio_readreg(chip->regs + XGPIO_IPIER_OFFSET);
   366			val = offset - chip->gpio_width[0] + 1;
   367			if (val > 0)
   368				temp &= 1;
   369			else
   370				temp &= 2;
   371			xgpio_writereg(chip->regs + XGPIO_IPIER_OFFSET, temp);
   372	
   373			/* Disable global interrupt if channel interrupts are unused */
   374			temp = xgpio_readreg(chip->regs + XGPIO_IPIER_OFFSET);
   375			if (!temp)
   376				xgpio_writereg(chip->regs + XGPIO_GIER_OFFSET,
 > 377					       ~XGPIO_GIER_IE);
   378		}
   379		spin_unlock_irqrestore(&chip->gpio_lock[index], flags);
   380	}
   381	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 34018 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20210527/a74f423e/attachment-0001.gz>


More information about the linux-arm-kernel mailing list