Re: [PATCH 2/2] gpio: aspeed: Add banks Y, Z, AA, AB and AC

From: kbuild test robot
Date: Mon Jan 23 2017 - 01:47:48 EST


Hi Andrew,

[auto build test ERROR on gpio/for-next]
[also build test ERROR on v4.10-rc5 next-20170123]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Andrew-Jeffery/gpio-aspeed-Implement-banks-Y-Z-AA-AB-and-AC/20170123-134930
base: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git for-next
config: i386-allmodconfig (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=i386

All error/warnings (new ones prefixed by >>):

In file included from include/linux/kernel.h:10:0,
from include/linux/list.h:8,
from include/linux/module.h:9,
from drivers/gpio/gpio-aspeed.c:12:
drivers/gpio/gpio-aspeed.c: In function 'set_irq_valid_mask':
>> include/linux/bitops.h:50:35: error: passing argument 1 of 'find_first_zero_bit' from incompatible pointer type [-Werror=incompatible-pointer-types]
for ((bit) = find_first_zero_bit((addr), (size)); \
^
>> drivers/gpio/gpio-aspeed.c:457:3: note: in expansion of macro 'for_each_clear_bit'
for_each_clear_bit(offset, &props->input, 32) {
^~~~~~~~~~~~~~~~~~
In file included from arch/x86/include/asm/bitops.h:509:0,
from include/linux/bitops.h:36,
from include/linux/kernel.h:10,
from include/linux/list.h:8,
from include/linux/module.h:9,
from drivers/gpio/gpio-aspeed.c:12:
include/asm-generic/bitops/find.h:53:22: note: expected 'const long unsigned int *' but argument is of type 'const u32 * {aka const unsigned int *}'
extern unsigned long find_first_zero_bit(const unsigned long *addr,
^~~~~~~~~~~~~~~~~~~
In file included from include/linux/kernel.h:10:0,
from include/linux/list.h:8,
from include/linux/module.h:9,
from drivers/gpio/gpio-aspeed.c:12:
>> include/linux/bitops.h:52:34: error: passing argument 1 of 'find_next_zero_bit' from incompatible pointer type [-Werror=incompatible-pointer-types]
(bit) = find_next_zero_bit((addr), (size), (bit) + 1))
^
>> drivers/gpio/gpio-aspeed.c:457:3: note: in expansion of macro 'for_each_clear_bit'
for_each_clear_bit(offset, &props->input, 32) {
^~~~~~~~~~~~~~~~~~
In file included from arch/x86/include/asm/bitops.h:509:0,
from include/linux/bitops.h:36,
from include/linux/kernel.h:10,
from include/linux/list.h:8,
from include/linux/module.h:9,
from drivers/gpio/gpio-aspeed.c:12:
include/asm-generic/bitops/find.h:28:22: note: expected 'const long unsigned int *' but argument is of type 'const u32 * {aka const unsigned int *}'
extern unsigned long find_next_zero_bit(const unsigned long *addr, unsigned
^~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors

vim +/for_each_clear_bit +457 drivers/gpio/gpio-aspeed.c

441 static struct irq_chip aspeed_gpio_irqchip = {
442 .name = "aspeed-gpio",
443 .irq_ack = aspeed_gpio_irq_ack,
444 .irq_mask = aspeed_gpio_irq_mask,
445 .irq_unmask = aspeed_gpio_irq_unmask,
446 .irq_set_type = aspeed_gpio_set_type,
447 };
448
449 static void set_irq_valid_mask(struct aspeed_gpio *gpio)
450 {
451 const struct aspeed_bank_props *props = gpio->config->props;
452
453 while (!is_bank_props_sentinel(props)) {
454 unsigned int offset;
455
456 /* Pretty crummy approach, but similar to GPIO core */
> 457 for_each_clear_bit(offset, &props->input, 32) {
458 unsigned int i = props->bank * 32 + offset;
459
460 if (i >= gpio->config->nr_gpios)
461 break;
462
463 clear_bit(i, gpio->chip.irq_valid_mask);
464 }
465

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

Attachment: .config.gz
Description: application/gzip