tree:
https://github.com/atishp04/linux dma_non_coherent_v1
head: 37cdb4f054939f097f3297ec76c1c6738312c577
commit: ad78ee06db98750082ab52e23e4608a3787a3db4 [8/42] gpio: starfive-jh7100: Add
StarFive JH7100 GPIO driver
config: m68k-allmodconfig (attached as .config)
compiler: m68k-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
#
https://github.com/atishp04/linux/commit/ad78ee06db98750082ab52e23e4608a3...
git remote add atishp04
https://github.com/atishp04/linux
git fetch --no-tags atishp04 dma_non_coherent_v1
git checkout ad78ee06db98750082ab52e23e4608a3787a3db4
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/gpio/gpio-starfive-jh7100.c:332:6: warning: no previous prototype for
'sf_vic_gpio_dout_reverse' [-Wmissing-prototypes]
332 | void sf_vic_gpio_dout_reverse(int gpio, int en)
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpio/gpio-starfive-jh7100.c:351:6: warning: no previous prototype for
'sf_vic_gpio_dout_value' [-Wmissing-prototypes]
351 | void sf_vic_gpio_dout_value(int gpio, int v)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/gpio/gpio-starfive-jh7100.c:369:6: warning: no previous prototype for
'sf_vic_gpio_dout_low' [-Wmissing-prototypes]
369 | void sf_vic_gpio_dout_low(int gpio)
| ^~~~~~~~~~~~~~~~~~~~
drivers/gpio/gpio-starfive-jh7100.c:375:6: warning: no previous prototype for
'sf_vic_gpio_dout_high' [-Wmissing-prototypes]
375 | void sf_vic_gpio_dout_high(int gpio)
| ^~~~~~~~~~~~~~~~~~~~~
drivers/gpio/gpio-starfive-jh7100.c:381:6: warning: no previous prototype for
'sf_vic_gpio_doen_reverse' [-Wmissing-prototypes]
381 | void sf_vic_gpio_doen_reverse(int gpio, int en)
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpio/gpio-starfive-jh7100.c:400:6: warning: no previous prototype for
'sf_vic_gpio_doen_value' [-Wmissing-prototypes]
400 | void sf_vic_gpio_doen_value(int gpio, int v)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/gpio/gpio-starfive-jh7100.c:419:6: warning: no previous prototype for
'sf_vic_gpio_doen_low' [-Wmissing-prototypes]
419 | void sf_vic_gpio_doen_low(int gpio)
| ^~~~~~~~~~~~~~~~~~~~
drivers/gpio/gpio-starfive-jh7100.c:425:6: warning: no previous prototype for
'sf_vic_gpio_doen_high' [-Wmissing-prototypes]
425 | void sf_vic_gpio_doen_high(int gpio)
| ^~~~~~~~~~~~~~~~~~~~~
drivers/gpio/gpio-starfive-jh7100.c:431:6: warning: no previous prototype for
'sf_vic_gpio_manual' [-Wmissing-prototypes]
431 | void sf_vic_gpio_manual(int offset, int v)
| ^~~~~~~~~~~~~~~~~~
drivers/gpio/gpio-starfive-jh7100.c: In function 'starfive_gpio_probe':
> drivers/gpio/gpio-starfive-jh7100.c:504:8: error: implicit
declaration of function 'devm_request_irq'; did you mean
'can_request_irq'? [-Werror=implicit-function-declaration]
504 | ret =
devm_request_irq(dev, irq, starfive_irq_handler, IRQF_SHARED,
| ^~~~~~~~~~~~~~~~
| can_request_irq
> drivers/gpio/gpio-starfive-jh7100.c:504:57: error:
'IRQF_SHARED' undeclared (first use in this function)
504 | ret =
devm_request_irq(dev, irq, starfive_irq_handler, IRQF_SHARED,
| ^~~~~~~~~~~
drivers/gpio/gpio-starfive-jh7100.c:504:57: note: each undeclared identifier is
reported only once for each function it appears in
cc1: some warnings being treated as errors
vim +504 drivers/gpio/gpio-starfive-jh7100.c
446
447 static int starfive_gpio_probe(struct platform_device *pdev)
448 {
449 struct device *dev = &pdev->dev;
450 struct starfive_gpio *chip;
451 struct gpio_irq_chip *girq;
452 struct resource *res;
453 int irq, ret, ngpio;
454
455 chip = devm_kzalloc(dev, sizeof(*chip), GFP_KERNEL);
456 if (!chip)
457 return -ENOMEM;
458
459 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
460 chip->base = devm_ioremap_resource(dev, res);
461 if (IS_ERR(chip->base)) {
462 dev_err(dev, "failed to allocate device memory\n");
463 return PTR_ERR(chip->base);
464 }
465 gpio_base = chip->base;
466
467 irq = platform_get_irq(pdev, 0);
468 if (irq < 0) {
469 dev_err(dev, "Cannot get IRQ resource\n");
470 return irq;
471 }
472
473 raw_spin_lock_init(&chip->lock);
474 chip->gc.direction_input = starfive_direction_input;
475 chip->gc.direction_output = starfive_direction_output;
476 chip->gc.get_direction = starfive_get_direction;
477 chip->gc.get = starfive_get_value;
478 chip->gc.set = starfive_set_value;
479 chip->gc.base = 0;
480 chip->gc.ngpio = 64;
481 chip->gc.label = dev_name(dev);
482 chip->gc.parent = dev;
483 chip->gc.owner = THIS_MODULE;
484
485 girq = &chip->gc.irq;
486 girq->chip = &starfive_irqchip;
487 girq->parent_handler = NULL;
488 girq->num_parents = 0;
489 girq->parents = NULL;
490 girq->default_type = IRQ_TYPE_NONE;
491 girq->handler = handle_simple_irq;
492
493 ret = gpiochip_add_data(&chip->gc, chip);
494 if (ret) {
495 dev_err(dev, "gpiochip_add_data ret=%d!\n", ret);
496 return ret;
497 }
498
499 /* Disable all GPIO interrupts before enabling parent interrupts */
500 iowrite32(0, chip->base + GPIO_IE_HIGH);
501 iowrite32(0, chip->base + GPIO_IE_LOW);
502 chip->enabled = 0;
503
504 ret = devm_request_irq(dev, irq, starfive_irq_handler,
IRQF_SHARED,
505 dev_name(dev), chip);
506 if (ret) {
507 dev_err(dev, "IRQ handler registering failed (%d)\n", ret);
508 return ret;
509 }
510
511 writel_relaxed(1, chip->base + GPIO_EN);
512
513 dev_info(dev, "StarFive GPIO chip registered %d GPIOs\n", ngpio);
514
515 return 0;
516 }
517
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org