linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [gpio:devel-cleanup-irqchip-threaded 20/20] drivers/gpio/gpio-104-dio-48e.c:441:23: error: assignment from incompatible pointer type
@ 2019-08-16  1:01 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2019-08-16  1:01 UTC (permalink / raw)
  To: Linus Walleij; +Cc: kbuild-all, linux-gpio

[-- Attachment #1: Type: text/plain, Size: 3973 bytes --]

tree:   https://kernel.googlesource.com/pub/scm/linux/kernel/git/linusw/linux-gpio.git devel-cleanup-irqchip-threaded
head:   3a992c673da81e8d95a2657df5234cd5cb05afa4
commit: 3a992c673da81e8d95a2657df5234cd5cb05afa4 [20/20] gpio: Handle generic and threaded IRQs on gpio irqchips
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.4.0-10) 7.4.0
reproduce:
        git checkout 3a992c673da81e8d95a2657df5234cd5cb05afa4
        # save the attached .config to linux build tree
        make ARCH=x86_64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/gpio/gpio-104-dio-48e.c: In function 'dio48e_probe':
>> drivers/gpio/gpio-104-dio-48e.c:441:23: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
     girq->parent_handler = dio48e_irq_handler;
                          ^
   cc1: some warnings being treated as errors

vim +441 drivers/gpio/gpio-104-dio-48e.c

   398	
   399	static int dio48e_probe(struct device *dev, unsigned int id)
   400	{
   401		struct dio48e_gpio *dio48egpio;
   402		const char *const name = dev_name(dev);
   403		struct gpio_irq_chip *girq;
   404		int err;
   405	
   406		dio48egpio = devm_kzalloc(dev, sizeof(*dio48egpio), GFP_KERNEL);
   407		if (!dio48egpio)
   408			return -ENOMEM;
   409	
   410		if (!devm_request_region(dev, base[id], DIO48E_EXTENT, name)) {
   411			dev_err(dev, "Unable to lock port addresses (0x%X-0x%X)\n",
   412				base[id], base[id] + DIO48E_EXTENT);
   413			return -EBUSY;
   414		}
   415	
   416		err = devm_request_irq(dev, irq[id], dio48e_irq_handler, 0, name,
   417				       dio48egpio);
   418		if (err) {
   419			dev_err(dev, "failed to request IRQ\n");
   420			return err;
   421		}
   422	
   423		dio48egpio->chip.label = name;
   424		dio48egpio->chip.parent = dev;
   425		dio48egpio->chip.owner = THIS_MODULE;
   426		dio48egpio->chip.base = -1;
   427		dio48egpio->chip.ngpio = DIO48E_NGPIO;
   428		dio48egpio->chip.names = dio48e_names;
   429		dio48egpio->chip.get_direction = dio48e_gpio_get_direction;
   430		dio48egpio->chip.direction_input = dio48e_gpio_direction_input;
   431		dio48egpio->chip.direction_output = dio48e_gpio_direction_output;
   432		dio48egpio->chip.get = dio48e_gpio_get;
   433		dio48egpio->chip.get_multiple = dio48e_gpio_get_multiple;
   434		dio48egpio->chip.set = dio48e_gpio_set;
   435		dio48egpio->chip.set_multiple = dio48e_gpio_set_multiple;
   436		dio48egpio->base = base[id];
   437	
   438		girq = &dio48egpio->chip.irq;
   439		girq->chip = &dio48e_irqchip;
   440		girq->parent_handler_type = GPIO_IRQ_HANDLER_GENERIC;
 > 441		girq->parent_handler = dio48e_irq_handler;
   442		girq->num_parents = 1;
   443		girq->parents = devm_kcalloc(dev, 1, sizeof(*girq->parents),
   444					     GFP_KERNEL);
   445		if (!girq->parents)
   446			return -ENOMEM;
   447		girq->parents[0] = irq[id];
   448		girq->default_type = IRQ_TYPE_NONE;
   449		girq->handler = handle_edge_irq;
   450	
   451		raw_spin_lock_init(&dio48egpio->lock);
   452	
   453		/* initialize all GPIO as output */
   454		outb(0x80, base[id] + 3);
   455		outb(0x00, base[id]);
   456		outb(0x00, base[id] + 1);
   457		outb(0x00, base[id] + 2);
   458		outb(0x00, base[id] + 3);
   459		outb(0x80, base[id] + 7);
   460		outb(0x00, base[id] + 4);
   461		outb(0x00, base[id] + 5);
   462		outb(0x00, base[id] + 6);
   463		outb(0x00, base[id] + 7);
   464	
   465		/* disable IRQ by default */
   466		inb(base[id] + 0xB);
   467	
   468		err = devm_gpiochip_add_data(dev, &dio48egpio->chip, dio48egpio);
   469		if (err) {
   470			dev_err(dev, "GPIO registering failed (%d)\n", err);
   471			return err;
   472		}
   473	
   474		return 0;
   475	}
   476	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 70207 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-08-16  1:03 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-16  1:01 [gpio:devel-cleanup-irqchip-threaded 20/20] drivers/gpio/gpio-104-dio-48e.c:441:23: error: assignment from incompatible pointer type kbuild test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).