[xlnx:xlnx_rebase_v5.4 1116/1697] drivers/gpio/gpio-xilinx.c:377:12: warning: conversion from 'long unsigned int' to 'unsigned int' changes value from '18446744071562067967' to '2147483647'
kernel test robot
lkp at intel.com
Wed Jan 13 00:13:50 EST 2021
tree: https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.4
head: 629150468791671b5fde21363e643e87c5815b17
commit: 256f37f6020654ff3d8044852f75542882301a26 [1116/1697] gpio: xilinx: Add irq support to the driver
config: x86_64-randconfig-s022-20210113 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-208-g46a52ca4-dirty
# 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
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' 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: In function 'xgpio_irq_mask':
>> drivers/gpio/gpio-xilinx.c:377:12: warning: conversion from 'long unsigned int' to 'unsigned int' changes value from '18446744071562067967' to '2147483647' [-Woverflow]
377 | ~XGPIO_GIER_IE);
drivers/gpio/gpio-xilinx.c:39:45: note: in definition of macro 'xgpio_writereg'
39 | # define xgpio_writereg(offset, val) 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;
| ^~~~~~
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: 32746 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20210113/b03b910d/attachment-0001.gz>
More information about the linux-arm-kernel
mailing list