Hi Quentin, [auto build test ERROR on gpio/for-next] [also build test ERROR on v4.9-rc6 next-20161123] [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/Quentin-Schulz/add-support-for-AXP209-GPIOs-functions/20161124-061409 base: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git for-next config: tile-allmodconfig (attached as .config) compiler: tilegx-linux-gcc (GCC) 4.6.2 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=tile All errors (new ones prefixed by >>): drivers/gpio/gpio-axp209.c:100:2: error: field name not in record or union initializer drivers/gpio/gpio-axp209.c:100:2: error: (near initialization for drivers/gpio/gpio-axp209.c:100:2: error: field name not in record or union initializer drivers/gpio/gpio-axp209.c:100:2: error: (near initialization for drivers/gpio/gpio-axp209.c:100:2: error: field name not in record or union initializer drivers/gpio/gpio-axp209.c:100:2: error: (near initialization for drivers/gpio/gpio-axp209.c:105:2: error: field name not in record or union initializer drivers/gpio/gpio-axp209.c:105:2: error: (near initialization for drivers/gpio/gpio-axp209.c:105:2: error: field name not in record or union initializer drivers/gpio/gpio-axp209.c:105:2: error: (near initialization for drivers/gpio/gpio-axp209.c:105:2: error: field name not in record or union initializer drivers/gpio/gpio-axp209.c:105:2: error: (near initialization for drivers/gpio/gpio-axp209.c: In function 'axp20x_gpio_get_direction': drivers/gpio/gpio-axp209.c:131:49: error: request for member 'drv_data' in something not a structure or union drivers/gpio/gpio-axp209.c:131:16: warning: cast from pointer to integer of different size drivers/gpio/gpio-axp209.c: In function 'axp20x_gpio_set': drivers/gpio/gpio-axp209.c:158:49: error: request for member 'drv_data' in something not a structure or union drivers/gpio/gpio-axp209.c:158:16: warning: cast from pointer to integer of different size drivers/gpio/gpio-axp209.c: In function 'axp20x_gpio_input': drivers/gpio/gpio-axp209.c:168:2: error: implicit declaration of function 'pinctrl_gpio_direction_input' drivers/gpio/gpio-axp209.c: In function 'axp20x_pmx_set': drivers/gpio/gpio-axp209.c:182:9: error: implicit declaration of function 'pinctrl_dev_get_drvdata' drivers/gpio/gpio-axp209.c:182:29: warning: initialization makes pointer from integer without a cast [enabled by default] drivers/gpio/gpio-axp209.c:183:49: error: request for member 'drv_data' in something not a structure or union drivers/gpio/gpio-axp209.c:183:16: warning: cast from pointer to integer of different size drivers/gpio/gpio-axp209.c: In function 'axp20x_pmx_func_cnt': drivers/gpio/gpio-axp209.c:191:29: warning: initialization makes pointer from integer without a cast [enabled by default] drivers/gpio/gpio-axp209.c: In function 'axp20x_pmx_func_name': drivers/gpio/gpio-axp209.c:199:29: warning: initialization makes pointer from integer without a cast [enabled by default] drivers/gpio/gpio-axp209.c: In function 'axp20x_pmx_func_groups': drivers/gpio/gpio-axp209.c:209:29: warning: initialization makes pointer from integer without a cast [enabled by default] drivers/gpio/gpio-axp209.c: In function 'axp20x_pinctrl_desc_find_func_by_name': drivers/gpio/gpio-axp209.c:228:23: error: request for member 'name' in something not a structure or union drivers/gpio/gpio-axp209.c:228:3: warning: passing argument 1 of 'strcmp' from incompatible pointer type [enabled by default] include/linux/string.h:42:12: note: expected 'const char but argument is of type 'const struct axp20x_desc_pin drivers/gpio/gpio-axp209.c: In function 'axp20x_pmx_set_mux': drivers/gpio/gpio-axp209.c:253:29: warning: initialization makes pointer from integer without a cast [enabled by default] drivers/gpio/gpio-axp209.c: In function 'axp20x_pctl_desc_find_func_by_pin': drivers/gpio/gpio-axp209.c:276:15: error: request for member 'number' in something not a structure or union drivers/gpio/gpio-axp209.c:276:23: warning: comparison between pointer and integer [enabled by default] drivers/gpio/gpio-axp209.c: At top level: drivers/gpio/gpio-axp209.c:293:7: warning: 'struct pinctrl_gpio_range' declared inside parameter list [enabled by default] drivers/gpio/gpio-axp209.c:293:7: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default] drivers/gpio/gpio-axp209.c: In function 'axp20x_pmx_gpio_set_direction': drivers/gpio/gpio-axp209.c:295:29: warning: initialization makes pointer from integer without a cast [enabled by default] drivers/gpio/gpio-axp209.c: At top level: drivers/gpio/gpio-axp209.c:311:21: error: variable 'axp20x_pmx_ops' has initializer but incomplete type drivers/gpio/gpio-axp209.c:312:2: error: unknown field 'get_functions_count' specified in initializer drivers/gpio/gpio-axp209.c:312:2: warning: excess elements in struct initializer [enabled by default] drivers/gpio/gpio-axp209.c:312:2: warning: (near initialization for 'axp20x_pmx_ops') [enabled by default] drivers/gpio/gpio-axp209.c:313:2: error: unknown field 'get_function_name' specified in initializer drivers/gpio/gpio-axp209.c:313:2: warning: excess elements in struct initializer [enabled by default] drivers/gpio/gpio-axp209.c:313:2: warning: (near initialization for 'axp20x_pmx_ops') [enabled by default] drivers/gpio/gpio-axp209.c:314:2: error: unknown field 'get_function_groups' specified in initializer drivers/gpio/gpio-axp209.c:314:2: warning: excess elements in struct initializer [enabled by default] drivers/gpio/gpio-axp209.c:314:2: warning: (near initialization for 'axp20x_pmx_ops') [enabled by default] drivers/gpio/gpio-axp209.c:315:2: error: unknown field 'set_mux' specified in initializer drivers/gpio/gpio-axp209.c:315:2: warning: excess elements in struct initializer [enabled by default] drivers/gpio/gpio-axp209.c:315:2: warning: (near initialization for 'axp20x_pmx_ops') [enabled by default] drivers/gpio/gpio-axp209.c:316:2: error: unknown field 'gpio_set_direction' specified in initializer drivers/gpio/gpio-axp209.c:316:2: warning: excess elements in struct initializer [enabled by default] drivers/gpio/gpio-axp209.c:316:2: warning: (near initialization for 'axp20x_pmx_ops') [enabled by default] drivers/gpio/gpio-axp209.c:317:2: error: unknown field 'strict' specified in initializer drivers/gpio/gpio-axp209.c:317:2: warning: excess elements in struct initializer [enabled by default] drivers/gpio/gpio-axp209.c:317:2: warning: (near initialization for 'axp20x_pmx_ops') [enabled by default] drivers/gpio/gpio-axp209.c: In function 'axp20x_groups_cnt': drivers/gpio/gpio-axp209.c:322:29: warning: initialization makes pointer from integer without a cast [enabled by default] drivers/gpio/gpio-axp209.c: In function 'axp20x_group_pins': drivers/gpio/gpio-axp209.c:330:29: warning: initialization makes pointer from integer without a cast [enabled by default] drivers/gpio/gpio-axp209.c: In function 'axp20x_group_name': drivers/gpio/gpio-axp209.c:342:29: warning: initialization makes pointer from integer without a cast [enabled by default] drivers/gpio/gpio-axp209.c: At top level: drivers/gpio/gpio-axp209.c:347:21: error: variable 'axp20x_pctrl_ops' has initializer but incomplete type drivers/gpio/gpio-axp209.c:348:2: error: unknown field 'dt_node_to_map' specified in initializer drivers/gpio/gpio-axp209.c:348:21: error: 'pinconf_generic_dt_node_to_map_group' undeclared here (not in a function) drivers/gpio/gpio-axp209.c:348:2: warning: excess elements in struct initializer [enabled by default] drivers/gpio/gpio-axp209.c:348:2: warning: (near initialization for 'axp20x_pctrl_ops') [enabled by default] drivers/gpio/gpio-axp209.c:349:2: error: unknown field 'dt_free_map' specified in initializer drivers/gpio/gpio-axp209.c:349:18: error: 'pinconf_generic_dt_free_map' undeclared here (not in a function) drivers/gpio/gpio-axp209.c:349:2: warning: excess elements in struct initializer [enabled by default] drivers/gpio/gpio-axp209.c:349:2: warning: (near initialization for 'axp20x_pctrl_ops') [enabled by default] drivers/gpio/gpio-axp209.c:350:2: error: unknown field 'get_groups_count' specified in initializer drivers/gpio/gpio-axp209.c:350:2: warning: excess elements in struct initializer [enabled by default] drivers/gpio/gpio-axp209.c:350:2: warning: (near initialization for 'axp20x_pctrl_ops') [enabled by default] drivers/gpio/gpio-axp209.c:351:2: error: unknown field 'get_group_name' specified in initializer drivers/gpio/gpio-axp209.c:351:2: warning: excess elements in struct initializer [enabled by default] drivers/gpio/gpio-axp209.c:351:2: warning: (near initialization for 'axp20x_pctrl_ops') [enabled by default] drivers/gpio/gpio-axp209.c:352:2: error: unknown field 'get_group_pins' specified in initializer drivers/gpio/gpio-axp209.c:352:2: warning: excess elements in struct initializer [enabled by default] drivers/gpio/gpio-axp209.c:352:2: warning: (near initialization for 'axp20x_pctrl_ops') [enabled by default] drivers/gpio/gpio-axp209.c: In function 'axp20x_attach_group_function': drivers/gpio/gpio-axp209.c:416:23: error: request for member 'name' in something not a structure or union drivers/gpio/gpio-axp209.c:416:13: warning: assignment from incompatible pointer type [enabled by default] drivers/gpio/gpio-axp209.c: In function 'axp20x_build_state': drivers/gpio/gpio-axp209.c:439:49: error: request for member 'name' in something not a structure or union drivers/gpio/gpio-axp209.c:439:24: warning: assignment from incompatible pointer type [enabled by default] drivers/gpio/gpio-axp209.c:440:48: error: request for member 'number' in something not a structure or union drivers/gpio/gpio-axp209.c:440:23: warning: assignment makes integer from pointer without a cast [enabled by default] drivers/gpio/gpio-axp209.c: In function 'axp20x_pctl_probe': drivers/gpio/gpio-axp209.c:522:61: error: dereferencing pointer to incomplete type >> drivers/gpio/gpio-axp209.c:522:52: error: invalid operands to binary Makefile arch drivers include kernel scripts source (have 'int' and 'const struct axp20x_desc_pin drivers/gpio/gpio-axp209.c:523:8: warning: passing argument 2 of 'devm_kzalloc' makes integer from pointer without a cast [enabled by default] include/linux/device.h:658:21: note: expected 'size_t' but argument is of type 'const struct axp20x_desc_pin drivers/gpio/gpio-axp209.c:528:3: error: invalid use of undefined type 'struct pinctrl_pin_desc' drivers/gpio/gpio-axp209.c:528:7: error: dereferencing pointer to incomplete type drivers/gpio/gpio-axp209.c:528:3: warning: statement with no effect drivers/gpio/gpio-axp209.c:530:47: error: dereferencing pointer to incomplete type drivers/gpio/gpio-axp209.c:530:2: warning: passing argument 2 of 'devm_kzalloc' makes integer from pointer without a cast [enabled by default] include/linux/device.h:658:21: note: expected 'size_t' but argument is of type 'const struct axp20x_desc_pin drivers/gpio/gpio-axp209.c:534:12: error: dereferencing pointer to incomplete type drivers/gpio/gpio-axp209.c:534:12: error: request for member 'name' in something not a structure or union drivers/gpio/gpio-axp209.c:534:2: warning: statement with no effect drivers/gpio/gpio-axp209.c:535:12: error: dereferencing pointer to incomplete type drivers/gpio/gpio-axp209.c:535:12: error: request for member 'owner' in something not a structure or union drivers/gpio/gpio-axp209.c:535:2: warning: statement with no effect drivers/gpio/gpio-axp209.c:536:12: error: dereferencing pointer to incomplete type drivers/gpio/gpio-axp209.c:536:12: error: request for member 'pins' in something not a structure or union drivers/gpio/gpio-axp209.c:536:2: warning: statement with no effect drivers/gpio/gpio-axp209.c:537:12: error: dereferencing pointer to incomplete type drivers/gpio/gpio-axp209.c:537:12: error: request for member 'npins' in something not a structure or union drivers/gpio/gpio-axp209.c:537:2: warning: statement with no effect drivers/gpio/gpio-axp209.c:538:12: error: dereferencing pointer to incomplete type drivers/gpio/gpio-axp209.c:538:12: error: request for member 'pctlops' in something not a structure or union drivers/gpio/gpio-axp209.c:538:2: warning: statement with no effect drivers/gpio/gpio-axp209.c:539:12: error: dereferencing pointer to incomplete type drivers/gpio/gpio-axp209.c:539:12: error: request for member 'pmxops' in something not a structure or union drivers/gpio/gpio-axp209.c:539:2: warning: statement with no effect drivers/gpio/gpio-axp209.c:541:2: error: implicit declaration of function 'devm_pinctrl_register' drivers/gpio/gpio-axp209.c:541:17: warning: assignment makes pointer from integer without a cast [enabled by default] drivers/gpio/gpio-axp209.c:557:19: error: request for member 'number' in something not a structure or union drivers/gpio/gpio-axp209.c:557:36: error: request for member 'number' in something not a structure or union drivers/gpio/gpio-axp209.c:558:11: warning: passing argument 3 of 'gpiochip_add_pin_range' makes integer from pointer without a cast [enabled by default] include/linux/gpio/driver.h:324:1: note: expected 'unsigned int' but argument is of type 'const struct axp20x_desc_pin drivers/gpio/gpio-axp209.c:558:11: warning: passing argument 4 of 'gpiochip_add_pin_range' makes integer from pointer without a cast [enabled by default] include/linux/gpio/driver.h:324:1: note: expected 'unsigned int' but argument is of type 'const struct axp20x_desc_pin cc1: some warnings being treated as errors vim +522 drivers/gpio/gpio-axp209.c 410 } 411 412 func_grp = func->groups; 413 while (*func_grp) 414 func_grp++; 415 > 416 *func_grp = pin->pin.name; 417 desc_func++; 418 } 419 420 return 0; 421 } 422 423 static int axp20x_build_state(struct platform_device *pdev) 424 { 425 struct axp20x_pctl *pctl = platform_get_drvdata(pdev); 426 unsigned int npins = pctl->desc->npins; 427 const struct axp20x_desc_pin *pin; 428 struct axp20x_desc_function *func; 429 int i, ret; 430 431 pctl->ngroups = npins; 432 pctl->groups = devm_kzalloc(&pdev->dev, 433 pctl->ngroups * sizeof(*pctl->groups), 434 GFP_KERNEL); 435 if (!pctl->groups) 436 return -ENOMEM; 437 438 for (i = 0; i < npins; i++) { 439 pctl->groups[i].name = pctl->desc->pins[i].pin.name; 440 pctl->groups[i].pin = pctl->desc->pins[i].pin.number; 441 } 442 443 /* We assume 4 functions per pin should be enough as a default max */ 444 pctl->functions = devm_kzalloc(&pdev->dev, 445 npins * 4 * sizeof(*pctl->functions), 446 GFP_KERNEL); 447 if (!pctl->functions) 448 return -ENOMEM; 449 450 /* Create a list of uniquely named functions */ 451 for (i = 0; i < npins; i++) { 452 pin = &pctl->desc->pins[i]; 453 func = pin->functions; 454 455 while (func->name) { 456 axp20x_pinctrl_add_function(pctl, func->name); 457 func++; 458 } 459 } 460 461 pctl->functions = krealloc(pctl->functions, 462 pctl->nfunctions * sizeof(*pctl->functions), 463 GFP_KERNEL); 464 465 for (i = 0; i < npins; i++) { 466 pin = &pctl->desc->pins[i]; 467 ret = axp20x_attach_group_function(pdev, pin); 468 if (ret) 469 return ret; 470 } 471 472 return 0; 473 } 474 475 static int axp20x_pctl_probe(struct platform_device *pdev) 476 { 477 struct axp20x_dev *axp20x = dev_get_drvdata(pdev->dev.parent); 478 const struct axp20x_desc_pin *pin; 479 struct axp20x_pctl *pctl; 480 struct pinctrl_desc *pctrl_desc; 481 struct pinctrl_pin_desc *pins; 482 int ret, i; 483 484 if (!of_device_is_available(pdev->dev.of_node)) 485 return -ENODEV; 486 487 if (!axp20x) { 488 dev_err(&pdev->dev, "Parent drvdata not set\n"); 489 return -EINVAL; 490 } 491 492 pctl = devm_kzalloc(&pdev->dev, sizeof(*pctl), GFP_KERNEL); 493 if (!pctl) 494 return -ENOMEM; 495 496 pctl->chip.base = -1; 497 pctl->chip.can_sleep = true; 498 pctl->chip.request = gpiochip_generic_request; 499 pctl->chip.free = gpiochip_generic_free; 500 pctl->chip.parent = &pdev->dev; 501 pctl->chip.label = dev_name(&pdev->dev); 502 pctl->chip.owner = THIS_MODULE; 503 pctl->chip.get = axp20x_gpio_get; 504 pctl->chip.get_direction = axp20x_gpio_get_direction; 505 pctl->chip.set = axp20x_gpio_set; 506 pctl->chip.direction_input = axp20x_gpio_input; 507 pctl->chip.direction_output = axp20x_gpio_output; 508 pctl->chip.ngpio = 3; 509 pctl->chip.can_sleep = true; 510 511 pctl->regmap = axp20x->regmap; 512 513 pctl->desc = &axp20x_pinctrl_data; 514 pctl->dev = &pdev->dev; 515 516 platform_set_drvdata(pdev, pctl); 517 518 ret = axp20x_build_state(pdev); 519 if (ret) 520 return ret; 521 > 522 pins = devm_kzalloc(&pdev->dev, pctl->desc->npins * sizeof(*pins), 523 GFP_KERNEL); 524 if (!pins) 525 return -ENOMEM; --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip