[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202412210008.Saks0Eu4-lkp@intel.com>
Date: Sat, 21 Dec 2024 00:39:08 +0800
From: kernel test robot <lkp@...el.com>
To: Mathieu Dubois-Briand <mathieu.dubois-briand@...tlin.com>,
Lee Jones <lee@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Kamel Bouhara <kamel.bouhara@...tlin.com>,
Linus Walleij <linus.walleij@...aro.org>,
Bartosz Golaszewski <brgl@...ev.pl>,
Dmitry Torokhov <dmitry.torokhov@...il.com>,
Uwe Kleine-König <ukleinek@...nel.org>
Cc: oe-kbuild-all@...ts.linux.dev, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-gpio@...r.kernel.org,
linux-input@...r.kernel.org, linux-pwm@...r.kernel.org,
Grégory Clement <gregory.clement@...tlin.com>,
Thomas Petazzoni <thomas.petazzoni@...tlin.com>,
Mathieu Dubois-Briand <mathieu.dubois-briand@...tlin.com>
Subject: Re: [PATCH 5/8] gpio: max7360: Add MAX7360 gpio support
Hi Mathieu,
kernel test robot noticed the following build warnings:
[auto build test WARNING on 78d4f34e2115b517bcbfe7ec0d018bbbb6f9b0b8]
url: https://github.com/intel-lab-lkp/linux/commits/Mathieu-Dubois-Briand/dt-bindings-Add-MAX7360-MFD-device/20241220-002541
base: 78d4f34e2115b517bcbfe7ec0d018bbbb6f9b0b8
patch link: https://lore.kernel.org/r/20241219-mdb-max7360-support-v1-5-8e8317584121%40bootlin.com
patch subject: [PATCH 5/8] gpio: max7360: Add MAX7360 gpio support
config: loongarch-allyesconfig (https://download.01.org/0day-ci/archive/20241221/202412210008.Saks0Eu4-lkp@intel.com/config)
compiler: loongarch64-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241221/202412210008.Saks0Eu4-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412210008.Saks0Eu4-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/gpio/gpio-max7360.c: In function 'max7360_gpio_probe':
>> drivers/gpio/gpio-max7360.c:370:39: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
370 | max7360_gpio->gpio_function = (int)device_get_match_data(&pdev->dev);
| ^
vim +370 drivers/gpio/gpio-max7360.c
333
334 static int max7360_gpio_probe(struct platform_device *pdev)
335 {
336 struct max7360_gpio *max7360_gpio;
337 unsigned int ngpios;
338 unsigned int outconf;
339 struct gpio_irq_chip *girq;
340 unsigned long flags;
341 int irq;
342 int ret;
343
344 if (!pdev->dev.parent) {
345 dev_err(&pdev->dev, "no parent device\n");
346 return -ENODEV;
347 }
348
349 max7360_gpio = devm_kzalloc(&pdev->dev, sizeof(struct max7360_gpio),
350 GFP_KERNEL);
351 if (!max7360_gpio)
352 return -ENOMEM;
353
354 if (of_property_read_u32(pdev->dev.of_node, "ngpios", &ngpios)) {
355 dev_err(&pdev->dev, "Missing ngpios OF property\n");
356 return -ENODEV;
357 }
358
359 max7360_gpio->regmap = dev_get_regmap(pdev->dev.parent, NULL);
360 if (!max7360_gpio->regmap) {
361 dev_err(&pdev->dev, "could not get parent regmap\n");
362 return -ENODEV;
363 }
364
365 max7360_gpio->dev = &pdev->dev;
366 max7360_gpio->chip = max7360_gpio_chip;
367 max7360_gpio->chip.ngpio = ngpios;
368 max7360_gpio->chip.parent = &pdev->dev;
369 max7360_gpio->chip.base = -1;
> 370 max7360_gpio->gpio_function = (int)device_get_match_data(&pdev->dev);
371
372 dev_dbg(&pdev->dev, "gpio count: %d\n", max7360_gpio->chip.ngpio);
373
374 if (max7360_gpio->gpio_function == MAX7360_GPIO_PORT) {
375 /* Port GPIOs: set output mode configuration (constant-current
376 * or not).
377 * This property is optional.
378 */
379 outconf = 0;
380 ret = of_property_read_u32(pdev->dev.of_node,
381 "constant-current-disable", &outconf);
382 if (ret && (ret != -EINVAL)) {
383 dev_err(&pdev->dev,
384 "Failed to read constant-current-disable OF property\n");
385 return -ENODEV;
386 }
387
388 regmap_write(max7360_gpio->regmap, MAX7360_REG_GPIOOUTM, outconf);
389 }
390
391 if (max7360_gpio->gpio_function == MAX7360_GPIO_PORT &&
392 of_property_read_bool(pdev->dev.of_node, "interrupt-controller")) {
393 /* Port GPIOs: declare IRQ chip, if configuration was provided.
394 */
395 irq = platform_get_irq(pdev, 0);
396 if (irq < 0)
397 return dev_err_probe(&pdev->dev, irq,
398 "Failed to get IRQ");
399
400 flags = IRQF_TRIGGER_LOW | IRQF_ONESHOT | IRQF_SHARED;
401 ret = devm_request_threaded_irq(&pdev->dev, irq, NULL,
402 max7360_gpio_irq, flags,
403 "max7360-gpio", max7360_gpio);
404 if (ret)
405 return dev_err_probe(&pdev->dev, ret,
406 "Failed to register interrupt: %d\n",
407 ret);
408
409 girq = &max7360_gpio->chip.irq;
410 gpio_irq_chip_set_chip(girq, &max7360_gpio_irqchip);
411 girq->parent_handler = NULL;
412 girq->num_parents = 0;
413 girq->parents = NULL;
414 girq->threaded = true;
415 girq->default_type = IRQ_TYPE_NONE;
416 girq->handler = handle_simple_irq;
417 }
418
419 ret = devm_gpiochip_add_data(&pdev->dev, &max7360_gpio->chip, max7360_gpio);
420 if (ret) {
421 dev_err(&pdev->dev, "unable to add gpiochip: %d\n", ret);
422 return ret;
423 }
424
425 return 0;
426 }
427
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists