Hi Yuxi, kernel test robot noticed the following build warnings: [auto build test WARNING on lee-leds/for-leds-next] [also build test WARNING on robh/for-next pavel-leds/for-next linus/master v6.6 next-20231110] [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/Yuxi-Wang/dt-bindings-leds-add-mps-mp3326-LED/20231108-113235 base: https://git.kernel.org/pub/scm/linux/kernel/git/lee/leds.git for-leds-next patch link: https://lore.kernel.org/r/20231108032921.3134115-3-wyx137120466%40gmail.com patch subject: [PATCH 2/2] leds: add mp3326 driver config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20231112/202311121908.Kyj8FdWx-lkp@xxxxxxxxx/config) compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231112/202311121908.Kyj8FdWx-lkp@xxxxxxxxx/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@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202311121908.Kyj8FdWx-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): >> drivers/leds/leds-mp3326.c:490:9: warning: variable 'i' is uninitialized when used here [-Wuninitialized] 490 | info[i].color_index = color; | ^ drivers/leds/leds-mp3326.c:449:7: note: initialize the variable 'i' to silence this warning 449 | int i; | ^ | = 0 drivers/leds/leds-mp3326.c:546:37: warning: variable 'i' is uninitialized when used here [-Wuninitialized] 546 | ret = mp3326_add_led(chip, child, i); | ^ drivers/leds/leds-mp3326.c:542:7: note: initialize the variable 'i' to silence this warning 542 | int i; | ^ | = 0 2 warnings generated. vim +/i +490 drivers/leds/leds-mp3326.c 440 441 static int mp3326_add_led(struct mp3326 *chip, struct device_node *np, int index) 442 { 443 struct mp3326_led *led = &chip->leds[index]; 444 struct mc_subled *info; 445 struct device_node *child; 446 struct led_classdev *cdev; 447 struct led_init_data init_data = {}; 448 int ret; 449 int i; 450 int count; 451 u32 color = 0; 452 u32 reg = 0; 453 454 ret = of_property_read_u32(np, "color", &color); 455 if (ret) { 456 dev_err(&chip->client->dev, "Miss color in the node\n"); 457 return ret; 458 } 459 led->private_data = chip; 460 if (color == LED_COLOR_ID_RGB) { 461 count = of_get_child_count(np); 462 if (count != 3) { 463 dev_err(&chip->client->dev, "RGB must have three node.\n"); 464 return -EINVAL; 465 } 466 467 info = devm_kcalloc(&chip->client->dev, 3, sizeof(*info), GFP_KERNEL); 468 if (!info) 469 return -ENOMEM; 470 471 for_each_available_child_of_node(np, child) { 472 ret = of_property_read_u32(child, "reg", ®); 473 if (ret || reg > MAX_CHANNEL) { 474 dev_err(&chip->client->dev, 475 "reg must less or equal than %d\n", MAX_CHANNEL); 476 return -EINVAL; 477 } 478 479 ret = of_property_read_u32(child, "color", &color); 480 if (ret) { 481 dev_err(&chip->client->dev, "color must have value\n"); 482 return ret; 483 } 484 485 if (color > 3 || !color) { 486 dev_err(&chip->client->dev, 487 "color must be Red, Green and Blue. The color is %d\n", color); 488 return ret; 489 } > 490 info[i].color_index = color; 491 info[i].channel = reg - 1; 492 info[i].brightness = 0; 493 i++; 494 } 495 496 led->subled_info = info; 497 led->num_colors = 3; 498 cdev = &led->cdev; 499 cdev->max_brightness = MAX_BRIGHTNESS; 500 cdev->brightness_set_blocking = led_brightness_set; 501 cdev->groups = led_sysfs_groups; 502 init_data.fwnode = &np->fwnode; 503 504 ret = devm_led_classdev_register_ext(&chip->client->dev, &led->cdev, &init_data); 505 506 if (ret) { 507 dev_err(&chip->client->dev, "Unable register multicolor:%s\n", cdev->name); 508 return ret; 509 } 510 } else { 511 ret = of_property_read_u32(np, "reg", ®); 512 if (ret || reg > MAX_CHANNEL) { 513 dev_err(&chip->client->dev, 514 "reg must less or equal than %d\n", MAX_CHANNEL); 515 return -EINVAL; 516 } 517 info = devm_kcalloc(&chip->client->dev, 1, sizeof(*info), GFP_KERNEL); 518 led->num_colors = 1; 519 info[i].color_index = LED_COLOR_ID_WHITE; 520 info[i].channel = reg - 1; 521 info[i].brightness = 0; 522 led->subled_info = info; 523 cdev = &led->cdev; 524 cdev->max_brightness = MAX_BRIGHTNESS; 525 cdev->brightness_set_blocking = led_brightness_set; 526 cdev->groups = led_sysfs_groups; 527 init_data.fwnode = &np->fwnode; 528 ret = devm_led_classdev_register_ext(&chip->client->dev, &led->cdev, &init_data); 529 if (ret) { 530 dev_err(&chip->client->dev, "Unable register led:%s\n", cdev->name); 531 return ret; 532 } 533 } 534 return ret; 535 } 536 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki