Hi Andy, I love your patch! Yet something to improve: [auto build test ERROR on pavel-leds/for-next] [also build test ERROR on linus/master v5.19 next-20220728] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Andy-Shevchenko/leds-pca955x-Get-rid-of-custom-led_init_default_state_get/20220803-052712 base: git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git for-next config: x86_64-randconfig-a002-20220801 (https://download.01.org/0day-ci/archive/20220803/202208030828.HPkXzKSf-lkp@xxxxxxxxx/config) compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 52cd00cabf479aa7eb6dbb063b7ba41ea57bce9e) 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/intel-lab-lkp/linux/commit/46936c7c7d9d52d3029e319fc78b727a9e0fc046 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Andy-Shevchenko/leds-pca955x-Get-rid-of-custom-led_init_default_state_get/20220803-052712 git checkout 46936c7c7d9d52d3029e319fc78b727a9e0fc046 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/leds/ If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@xxxxxxxxx> All error/warnings (new ones prefixed by >>): >> drivers/leds/leds-pca955x.c:457:24: error: call to undeclared function 'led_init_default_state_get'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] led->default_state = led_init_default_state_get(child); ^ >> drivers/leds/leds-pca955x.c:446:15: warning: unused variable 'state' [-Wunused-variable] const char *state; ^ drivers/leds/leds-pca955x.c:494:15: warning: cast to smaller integer type 'enum pca955x_type' from 'const void *' [-Wvoid-pointer-to-enum-cast] chip_type = (enum pca955x_type)md; ^~~~~~~~~~~~~~~~~~~~~ 2 warnings and 1 error generated. vim +/led_init_default_state_get +457 drivers/leds/leds-pca955x.c 422 423 static struct pca955x_platform_data * 424 pca955x_get_pdata(struct i2c_client *client, struct pca955x_chipdef *chip) 425 { 426 struct pca955x_platform_data *pdata; 427 struct pca955x_led *led; 428 struct fwnode_handle *child; 429 int count; 430 431 count = device_get_child_node_count(&client->dev); 432 if (count > chip->bits) 433 return ERR_PTR(-ENODEV); 434 435 pdata = devm_kzalloc(&client->dev, sizeof(*pdata), GFP_KERNEL); 436 if (!pdata) 437 return ERR_PTR(-ENOMEM); 438 439 pdata->leds = devm_kcalloc(&client->dev, 440 chip->bits, sizeof(struct pca955x_led), 441 GFP_KERNEL); 442 if (!pdata->leds) 443 return ERR_PTR(-ENOMEM); 444 445 device_for_each_child_node(&client->dev, child) { > 446 const char *state; 447 u32 reg; 448 int res; 449 450 res = fwnode_property_read_u32(child, "reg", ®); 451 if ((res != 0) || (reg >= chip->bits)) 452 continue; 453 454 led = &pdata->leds[reg]; 455 led->type = PCA955X_TYPE_LED; 456 led->fwnode = child; > 457 led->default_state = led_init_default_state_get(child); 458 459 fwnode_property_read_u32(child, "type", &led->type); 460 } 461 462 pdata->num_leds = chip->bits; 463 464 return pdata; 465 } 466 -- 0-DAY CI Kernel Test Service https://01.org/lkp