From: kernel test robot <lkp@intel.com>
To: bui duc phuc <phucduc.bui@gmail.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
linux-gpio@vger.kernel.org,
Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Subject: [brgl:gpio/for-next 5/8] drivers/gpio/gpio-altera.c:224:11: warning: comparison between pointer and integer ('struct gpio_irq_chip *' and 'int')
Date: Thu, 03 Sep 2026 15:34:21 +0800 [thread overview]
Message-ID: <202609031554.tpxA67sB-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git gpio/for-next
head: 1900b5a41493e7050c68c1e62780d6fb9a209457
commit: 6e6e585b603e4f679c2a33c8f0954ec88b52fd7a [5/8] gpio: altera: Handle errors from optional IRQ lookup
config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20260903/202609031554.tpxA67sB-lkp@intel.com/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project ed1626b9d0eaf7c406f44da5fb595ad94559f54b)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260903/202609031554.tpxA67sB-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609031554.tpxA67sB-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/gpio/gpio-altera.c:224:7: error: use of undeclared identifier 'irq'; did you mean 'girq'?
224 | if (irq != -ENXIO)
| ^~~
| girq
drivers/gpio/gpio-altera.c:174:24: note: 'girq' declared here
174 | struct gpio_irq_chip *girq;
| ^
>> drivers/gpio/gpio-altera.c:224:11: warning: comparison between pointer and integer ('struct gpio_irq_chip *' and 'int') [-Wpointer-integer-compare]
224 | if (irq != -ENXIO)
| ~~~ ^ ~~~~~~
drivers/gpio/gpio-altera.c:225:11: error: use of undeclared identifier 'irq'; did you mean 'girq'?
225 | return irq;
| ^~~
| girq
drivers/gpio/gpio-altera.c:174:24: note: 'girq' declared here
174 | struct gpio_irq_chip *girq;
| ^
drivers/gpio/gpio-altera.c:225:11: error: incompatible pointer to integer conversion returning 'struct gpio_irq_chip *' from a function with result type 'int' [-Wint-conversion]
225 | return irq;
| ^~~
1 warning and 3 errors generated.
vim +224 drivers/gpio/gpio-altera.c
165
166 static int altera_gpio_probe(struct platform_device *pdev)
167 {
168 struct gpio_generic_chip_config config;
169 struct device *dev = &pdev->dev;
170 int reg, ret;
171 struct altera_gpio_chip *altera_gc;
172 struct gpio_generic_chip *chip;
173 struct gpio_chip *gc;
174 struct gpio_irq_chip *girq;
175 int mapped_irq;
176
177 altera_gc = devm_kzalloc(&pdev->dev, sizeof(*altera_gc), GFP_KERNEL);
178 if (!altera_gc)
179 return -ENOMEM;
180
181 raw_spin_lock_init(&altera_gc->gpio_lock);
182
183 altera_gc->regs = devm_platform_ioremap_resource(pdev, 0);
184 if (IS_ERR(altera_gc->regs))
185 return dev_err_probe(dev, PTR_ERR(altera_gc->regs),
186 "failed to ioremap memory resource\n");
187
188 chip = &altera_gc->chip;
189
190 config = (struct gpio_generic_chip_config) {
191 .dev = dev,
192 .sz = 4,
193 .dat = altera_gc->regs + ALTERA_GPIO_DATA,
194 .set = altera_gc->regs + ALTERA_GPIO_DATA,
195 .dirout = altera_gc->regs + ALTERA_GPIO_DIR,
196 };
197
198 ret = gpio_generic_chip_init(chip, &config);
199 if (ret)
200 return dev_err_probe(dev, ret, "unable to init generic GPIO\n");
201
202 gc = &chip->gc;
203
204 if (device_property_read_u32(dev, "altr,ngpio", ®))
205 /* By default assume maximum ngpio */
206 gc->ngpio = ALTERA_GPIO_MAX_NGPIO;
207 else
208 gc->ngpio = reg;
209
210 if (gc->ngpio > ALTERA_GPIO_MAX_NGPIO) {
211 dev_warn(&pdev->dev,
212 "ngpio is greater than %d, defaulting to %d\n",
213 ALTERA_GPIO_MAX_NGPIO, ALTERA_GPIO_MAX_NGPIO);
214 gc->ngpio = ALTERA_GPIO_MAX_NGPIO;
215 }
216
217 gc->base = -1;
218 gc->label = devm_kasprintf(dev, GFP_KERNEL, "%pfw", dev_fwnode(dev));
219 if (!gc->label)
220 return -ENOMEM;
221
222 mapped_irq = platform_get_irq_optional(pdev, 0);
223 if (mapped_irq < 0) {
> 224 if (irq != -ENXIO)
225 return irq;
226 goto skip_irq;
227 }
228
229 if (device_property_read_u32(dev, "altr,interrupt-type", ®)) {
230 dev_err(&pdev->dev,
231 "altr,interrupt-type value not set in device tree\n");
232 return -EINVAL;
233 }
234 altera_gc->interrupt_trigger = reg;
235
236 girq = &gc->irq;
237 gpio_irq_chip_set_chip(girq, &altera_gpio_irq_chip);
238
239 if (altera_gc->interrupt_trigger == IRQ_TYPE_LEVEL_HIGH)
240 girq->parent_handler = altera_gpio_irq_leveL_high_handler;
241 else
242 girq->parent_handler = altera_gpio_irq_edge_handler;
243 girq->num_parents = 1;
244 girq->parents = devm_kcalloc(&pdev->dev, 1, sizeof(*girq->parents),
245 GFP_KERNEL);
246 if (!girq->parents)
247 return -ENOMEM;
248 girq->default_type = IRQ_TYPE_NONE;
249 girq->handler = handle_bad_irq;
250 girq->parents[0] = mapped_irq;
251
252 skip_irq:
253 ret = devm_gpiochip_add_data(dev, gc, altera_gc);
254 if (ret) {
255 dev_err(&pdev->dev, "Failed adding memory mapped gpiochip\n");
256 return ret;
257 }
258
259 return 0;
260 }
261
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2026-09-03 7:35 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202609031554.tpxA67sB-lkp@intel.com \
--to=lkp@intel.com \
--cc=bartosz.golaszewski@oss.qualcomm.com \
--cc=linux-gpio@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=phucduc.bui@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.