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

kernel test robot lkp at intel.com
Thu Apr 1 17:44:54 BST 2021


tree:   https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.4
head:   8540825db3d5519ef205a710515b7819b95eeb4f
commit: 256f37f6020654ff3d8044852f75542882301a26 [1116/1701] gpio: xilinx: Add irq support to the driver
config: x86_64-randconfig-a001-20210401 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 1c268a8ff4e90a85d0e634350b1104080614cf2b)
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
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # 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=clang make.cross ARCH=x86_64 

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:377:12: warning: implicit conversion from 'unsigned long' to 'unsigned int' changes value from 18446744071562067967 to 2147483647 [-Wconstant-conversion]
                                          ~XGPIO_GIER_IE);
                                          ^~~~~~~~~~~~~~~
   drivers/gpio/gpio-xilinx.c:39:45: note: expanded from macro 'xgpio_writereg'
   # define xgpio_writereg(offset, val)    writel(val, offset)
                                           ~~~~~~ ^~~
   1 warning generated.


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: 38005 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20210402/de49946f/attachment-0001.gz>


More information about the linux-arm-kernel mailing list