Re: [PATCH 01/13] a2b: add A2B driver core

kernel test robot
2024-05-18T12:47:16Z

Hi Alvin,

kernel test robot noticed the following build errors:

[auto build test ERROR on c75962170e49f24399141276ae119e6a879f36dc]

url: https://github.com/intel-lab-lkp/linux/commits/Alvin-ipraga/a2b-add-A2B-driver-core/20240517-211849
base: c75962170e49f24399141276ae119e6a879f36dc
patch link: https://lore.kernel.org/r/20240517-a2b-v1-1-b8647554c67b%40bang-olufsen.dk
patch subject: [PATCH 01/13] a2b: add A2B driver core
config: i386-allmodconfig (https://download.01.org/0day-ci/archive/20240518/202405182008.zWMVYQ6g-lkp@intel.com/config)
compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240518/202405182008.zWMVYQ6g-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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202405182008.zWMVYQ6g-lkp@intel.com/

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

drivers/a2b/a2b.c: In function 'a2b_bus_of_add_node':
>> drivers/a2b/a2b.c:463:16: error: implicit declaration of function 'kzalloc' [-Werror=implicit-function-declaration]
463 | node = kzalloc(sizeof(*node), GFP_KERNEL);
| ^~~~~~~
>> drivers/a2b/a2b.c:463:14: warning: assignment to 'struct a2b_node *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
463 | node = kzalloc(sizeof(*node), GFP_KERNEL);
| ^
drivers/a2b/a2b.c: In function 'a2b_node_of_add_func':
>> drivers/a2b/a2b.c:1017:14: warning: assignment to 'struct a2b_func *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
1017 | func = kzalloc(sizeof(*func), GFP_KERNEL);
| ^
drivers/a2b/a2b.c: In function 'a2b_node_release':
>> drivers/a2b/a2b.c:1112:9: error: implicit declaration of function 'kfree' [-Werror=implicit-function-declaration]
1112 | kfree(node);
| ^~~~~
cc1: some warnings being treated as errors

vim +/kzalloc +463 drivers/a2b/a2b.c

444
445 static int a2b_bus_of_add_node(struct a2b_bus *bus, struct device_node *np,
446 unsigned int addr)
447 {
448 struct a2b_node *node;
449 int ret = 0;
450
451 if (!bus || !np)
452 return -EINVAL;
453
454 if (addr >= A2B_MAX_NODES)
455 return -EINVAL;
456
457 if (!of_device_is_available(np))
458 return -ENODEV;
459
460 if (of_node_test_and_set_flag(np, OF_POPULATED))
461 return -EBUSY;
462
> 463 node = kzalloc(sizeof(*node), GFP_KERNEL);
464 if (IS_ERR(node))
465 return -ENOMEM;
466
467 node->dev.bus = &a2b_bus;
468 node->dev.type = &a2b_node_type;
469 node->dev.parent = &bus->dev;
470 node->dev.of_node = np;
471 node->dev.fwnode = of_fwnode_handle(np);
472 dev_set_name(&node->dev, "a2b-%d.%d", bus->id, addr);
473
474 node->bus = bus;
475 node->addr = addr;
476
477 /*
478 * Register the node device. Note that due to asynchronous probing,
479 * there is no guarantee that the node driver's probe function has been
480 * called just yet. The synchronization point is a2b_register_node(),
481 * which should be called unconditionally by node drivers.
482 */
483 ret = device_register(&node->dev);
484 if (ret)
485 goto err_put_device;
486
487 return 0;
488
489 err_put_device:
490 put_device(&node->dev);
491
492 return ret;
493 }
494

--
0-DAY CI Kernel Test Service