Re: [PATCH v4 03/11] irqchip: add sl28cpld interrupt controller support

From: kernel test robot
Date: Thu Jun 04 2020 - 21:30:40 EST


Hi Michael,

I love your patch! Perhaps something to improve:

[auto build test WARNING on next-20200604]
[cannot apply to gpio/for-next hwmon/hwmon-next ljones-mfd/for-mfd-next shawnguo/for-next v5.7 v5.7-rc7 v5.7-rc6 v5.7]
[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/Michael-Walle/Add-support-for-Kontron-sl28cpld/20200605-051333
base: d4899e5542c15062cc55cac0ca99025bb64edc61
config: mips-allyesconfig (attached as .config)
compiler: mips-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=mips

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>, old ones prefixed by <<):

drivers/irqchip/irq-sl28cpld.c: In function 'sl28cpld_intc_probe':
>> drivers/irqchip/irq-sl28cpld.c:56:10: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
56 | if (irq < 0)
| ^

vim +56 drivers/irqchip/irq-sl28cpld.c

35
36 static int sl28cpld_intc_probe(struct platform_device *pdev)
37 {
38 struct device *dev = &pdev->dev;
39 struct sl28cpld_intc *irqchip;
40 unsigned int irq;
41 u32 base;
42 int ret;
43
44 if (!dev->parent)
45 return -ENODEV;
46
47 irqchip = devm_kzalloc(dev, sizeof(*irqchip), GFP_KERNEL);
48 if (!irqchip)
49 return -ENOMEM;
50
51 irqchip->regmap = dev_get_regmap(dev->parent, NULL);
52 if (!irqchip->regmap)
53 return -ENODEV;
54
55 irq = platform_get_irq(pdev, 0);
> 56 if (irq < 0)
57 return irq;
58
59 ret = device_property_read_u32(&pdev->dev, "reg", &base);
60 if (ret)
61 return -EINVAL;
62
63 irqchip->chip.name = "sl28cpld-intc";
64 irqchip->chip.irqs = sl28cpld_irqs;
65 irqchip->chip.num_irqs = ARRAY_SIZE(sl28cpld_irqs);
66 irqchip->chip.num_regs = 1;
67 irqchip->chip.status_base = base + INTC_IP;
68 irqchip->chip.mask_base = base + INTC_IE;
69 irqchip->chip.mask_invert = true,
70 irqchip->chip.ack_base = base + INTC_IP;
71
72 return devm_regmap_add_irq_chip_np(&pdev->dev, dev->of_node,
73 irqchip->regmap, irq,
74 IRQF_SHARED | IRQF_ONESHOT, 0,
75 &irqchip->chip, &irqchip->irq_data);
76 }
77

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip