[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202203130814.1YMJ3vAC-lkp@intel.com>
Date: Sun, 13 Mar 2022 08:49:16 +0800
From: kernel test robot <lkp@...el.com>
To: Samuel Holland <samuel@...lland.org>
Cc: kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
Marc Zyngier <maz@...nel.org>
Subject: drivers/irqchip/irq-sun6i-r.c:215:79: sparse: sparse: Using plain
integer as NULL pointer
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 68453767131a5deec1e8f9ac92a9042f929e585d
commit: 4e34614636b31747b190488240a95647c227021f irqchip/sun6i-r: Use a stacked irqchip driver
date: 1 year, 2 months ago
config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20220313/202203130814.1YMJ3vAC-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 11.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4e34614636b31747b190488240a95647c227021f
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 4e34614636b31747b190488240a95647c227021f
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/gpu/drm/tegra/ drivers/gpu/host1x/ drivers/hid/ drivers/irqchip/ drivers/remoteproc/ drivers/scsi/hisi_sas/ security/integrity/ima/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/irqchip/irq-sun6i-r.c:215:79: sparse: sparse: Using plain integer as NULL pointer
vim +215 drivers/irqchip/irq-sun6i-r.c
184
185 static int sun6i_r_intc_domain_alloc(struct irq_domain *domain,
186 unsigned int virq,
187 unsigned int nr_irqs, void *arg)
188 {
189 struct irq_fwspec *fwspec = arg;
190 struct irq_fwspec gic_fwspec;
191 unsigned long hwirq;
192 unsigned int type;
193 int i, ret;
194
195 ret = sun6i_r_intc_domain_translate(domain, fwspec, &hwirq, &type);
196 if (ret)
197 return ret;
198 if (hwirq + nr_irqs > SUN6I_NR_MUX_BITS)
199 return -EINVAL;
200
201 /* Construct a GIC-compatible fwspec from this fwspec. */
202 gic_fwspec = (struct irq_fwspec) {
203 .fwnode = domain->parent->fwnode,
204 .param_count = 3,
205 .param = { GIC_SPI, hwirq, type },
206 };
207
208 ret = irq_domain_alloc_irqs_parent(domain, virq, nr_irqs, &gic_fwspec);
209 if (ret)
210 return ret;
211
212 for (i = 0; i < nr_irqs; ++i, ++hwirq, ++virq) {
213 if (hwirq == nmi_hwirq) {
214 irq_domain_set_hwirq_and_chip(domain, virq, hwirq,
> 215 &sun6i_r_intc_nmi_chip, 0);
216 irq_set_handler(virq, handle_fasteoi_ack_irq);
217 } else {
218 /* Only the NMI is currently supported. */
219 return -EINVAL;
220 }
221 }
222
223 return 0;
224 }
225
---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Powered by blists - more mailing lists