Re: [PATCH v4 09/11] HID: asus: add basic RGB support
From: kernel test robot
Date: Tue Mar 25 2025 - 02:34:35 EST
Hi Antheas,
kernel test robot noticed the following build errors:
[auto build test ERROR on 38fec10eb60d687e30c8c6b5420d86e8149f7557]
url: https://github.com/intel-lab-lkp/linux/commits/Antheas-Kapenekakis/HID-asus-refactor-init-sequence-per-spec/20250325-051852
base: 38fec10eb60d687e30c8c6b5420d86e8149f7557
patch link: https://lore.kernel.org/r/20250324210151.6042-10-lkml%40antheas.dev
patch subject: [PATCH v4 09/11] HID: asus: add basic RGB support
config: riscv-randconfig-002-20250325 (https://download.01.org/0day-ci/archive/20250325/202503251316.lPXAIXIV-lkp@xxxxxxxxx/config)
compiler: riscv64-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250325/202503251316.lPXAIXIV-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/202503251316.lPXAIXIV-lkp@xxxxxxxxx/
All errors (new ones prefixed by >>):
riscv64-linux-ld: drivers/hid/hid-asus.o: in function `asus_kbd_register_leds':
>> drivers/hid/hid-asus.c:676:(.text+0x23f8): undefined reference to `devm_led_classdev_multicolor_register_ext'
vim +676 drivers/hid/hid-asus.c
312a522531f6e5 Antheas Kapenekakis 2025-03-24 645
af22a610bc3850 Carlo Caione 2017-04-06 646 static int asus_kbd_register_leds(struct hid_device *hdev)
af22a610bc3850 Carlo Caione 2017-04-06 647 {
af22a610bc3850 Carlo Caione 2017-04-06 648 struct asus_drvdata *drvdata = hid_get_drvdata(hdev);
af22a610bc3850 Carlo Caione 2017-04-06 649 unsigned char kbd_func;
312a522531f6e5 Antheas Kapenekakis 2025-03-24 650 struct asus_kbd_leds *leds;
312a522531f6e5 Antheas Kapenekakis 2025-03-24 651 bool no_led;
af22a610bc3850 Carlo Caione 2017-04-06 652 int ret;
af22a610bc3850 Carlo Caione 2017-04-06 653
2c82a7b20f7b7a Luke D. Jones 2024-04-16 654 ret = asus_kbd_init(hdev, FEATURE_KBD_REPORT_ID);
2c82a7b20f7b7a Luke D. Jones 2024-04-16 655 if (ret < 0)
2c82a7b20f7b7a Luke D. Jones 2024-04-16 656 return ret;
2c82a7b20f7b7a Luke D. Jones 2024-04-16 657
3ebfeb18b44e01 Antheas Kapenekakis 2025-03-24 658 /* Get keyboard functions */
3ebfeb18b44e01 Antheas Kapenekakis 2025-03-24 659 ret = asus_kbd_get_functions(hdev, &kbd_func, FEATURE_KBD_REPORT_ID);
b92b80246e0626 Luke D Jones 2020-10-27 660 if (ret < 0)
b92b80246e0626 Luke D Jones 2020-10-27 661 return ret;
53078a736fbc60 Luke D. Jones 2025-01-11 662
53078a736fbc60 Luke D. Jones 2025-01-11 663 if (dmi_match(DMI_PRODUCT_FAMILY, "ProArt P16")) {
53078a736fbc60 Luke D. Jones 2025-01-11 664 ret = asus_kbd_disable_oobe(hdev);
53078a736fbc60 Luke D. Jones 2025-01-11 665 if (ret < 0)
53078a736fbc60 Luke D. Jones 2025-01-11 666 return ret;
53078a736fbc60 Luke D. Jones 2025-01-11 667 }
af22a610bc3850 Carlo Caione 2017-04-06 668
af22a610bc3850 Carlo Caione 2017-04-06 669 /* Check for backlight support */
af22a610bc3850 Carlo Caione 2017-04-06 670 if (!(kbd_func & SUPPORT_KBD_BACKLIGHT))
af22a610bc3850 Carlo Caione 2017-04-06 671 return -ENODEV;
af22a610bc3850 Carlo Caione 2017-04-06 672
af22a610bc3850 Carlo Caione 2017-04-06 673 drvdata->kbd_backlight = devm_kzalloc(&hdev->dev,
af22a610bc3850 Carlo Caione 2017-04-06 674 sizeof(struct asus_kbd_leds),
af22a610bc3850 Carlo Caione 2017-04-06 675 GFP_KERNEL);
af22a610bc3850 Carlo Caione 2017-04-06 @676 if (!drvdata->kbd_backlight)
af22a610bc3850 Carlo Caione 2017-04-06 677 return -ENOMEM;
af22a610bc3850 Carlo Caione 2017-04-06 678
312a522531f6e5 Antheas Kapenekakis 2025-03-24 679 leds = drvdata->kbd_backlight;
312a522531f6e5 Antheas Kapenekakis 2025-03-24 680 leds->removed = false;
312a522531f6e5 Antheas Kapenekakis 2025-03-24 681 leds->brightness = 3;
312a522531f6e5 Antheas Kapenekakis 2025-03-24 682 leds->hdev = hdev;
312a522531f6e5 Antheas Kapenekakis 2025-03-24 683 leds->listener.brightness_set = asus_kbd_listener_set;
312a522531f6e5 Antheas Kapenekakis 2025-03-24 684
312a522531f6e5 Antheas Kapenekakis 2025-03-24 685 leds->rgb_colors[0] = 0;
312a522531f6e5 Antheas Kapenekakis 2025-03-24 686 leds->rgb_colors[1] = 0;
312a522531f6e5 Antheas Kapenekakis 2025-03-24 687 leds->rgb_colors[2] = 0;
312a522531f6e5 Antheas Kapenekakis 2025-03-24 688 leds->rgb_init = true;
312a522531f6e5 Antheas Kapenekakis 2025-03-24 689 leds->rgb_set = false;
312a522531f6e5 Antheas Kapenekakis 2025-03-24 690 leds->mc_led.led_cdev.name = devm_kasprintf(&hdev->dev, GFP_KERNEL,
312a522531f6e5 Antheas Kapenekakis 2025-03-24 691 "asus-%s:rgb:peripheral",
312a522531f6e5 Antheas Kapenekakis 2025-03-24 692 strlen(hdev->uniq) ?
312a522531f6e5 Antheas Kapenekakis 2025-03-24 693 hdev->uniq : dev_name(&hdev->dev));
312a522531f6e5 Antheas Kapenekakis 2025-03-24 694 leds->mc_led.led_cdev.flags = LED_BRIGHT_HW_CHANGED;
312a522531f6e5 Antheas Kapenekakis 2025-03-24 695 leds->mc_led.led_cdev.max_brightness = 3,
312a522531f6e5 Antheas Kapenekakis 2025-03-24 696 leds->mc_led.led_cdev.brightness_set = asus_kbd_brightness_set,
312a522531f6e5 Antheas Kapenekakis 2025-03-24 697 leds->mc_led.led_cdev.brightness_get = asus_kbd_brightness_get,
312a522531f6e5 Antheas Kapenekakis 2025-03-24 698 leds->mc_led.subled_info = leds->subled_info,
312a522531f6e5 Antheas Kapenekakis 2025-03-24 699 leds->mc_led.num_colors = ARRAY_SIZE(leds->subled_info),
312a522531f6e5 Antheas Kapenekakis 2025-03-24 700 leds->subled_info[0].color_index = LED_COLOR_ID_RED;
312a522531f6e5 Antheas Kapenekakis 2025-03-24 701 leds->subled_info[1].color_index = LED_COLOR_ID_GREEN;
312a522531f6e5 Antheas Kapenekakis 2025-03-24 702 leds->subled_info[2].color_index = LED_COLOR_ID_BLUE;
312a522531f6e5 Antheas Kapenekakis 2025-03-24 703
312a522531f6e5 Antheas Kapenekakis 2025-03-24 704 INIT_WORK(&drvdata->kbd_backlight->work, asus_kbd_work);
315c537068a13f Pietro Borrello 2023-02-12 705 spin_lock_init(&drvdata->kbd_backlight->lock);
af22a610bc3850 Carlo Caione 2017-04-06 706
d37db2009c913c Antheas Kapenekakis 2025-03-24 707 ret = asus_hid_register_listener(&drvdata->kbd_backlight->listener);
312a522531f6e5 Antheas Kapenekakis 2025-03-24 708 no_led = !!ret;
d37db2009c913c Antheas Kapenekakis 2025-03-24 709
312a522531f6e5 Antheas Kapenekakis 2025-03-24 710 if (drvdata->quirks & QUIRK_ROG_NKEY_RGB) {
312a522531f6e5 Antheas Kapenekakis 2025-03-24 711 ret = devm_led_classdev_multicolor_register(
312a522531f6e5 Antheas Kapenekakis 2025-03-24 712 &hdev->dev, &leds->mc_led);
312a522531f6e5 Antheas Kapenekakis 2025-03-24 713 if (!ret)
312a522531f6e5 Antheas Kapenekakis 2025-03-24 714 leds->rgb_registered = true;
312a522531f6e5 Antheas Kapenekakis 2025-03-24 715 no_led &= !!ret;
312a522531f6e5 Antheas Kapenekakis 2025-03-24 716 }
312a522531f6e5 Antheas Kapenekakis 2025-03-24 717
312a522531f6e5 Antheas Kapenekakis 2025-03-24 718 if (no_led) {
af22a610bc3850 Carlo Caione 2017-04-06 719 /* No need to have this still around */
af22a610bc3850 Carlo Caione 2017-04-06 720 devm_kfree(&hdev->dev, drvdata->kbd_backlight);
af22a610bc3850 Carlo Caione 2017-04-06 721 }
af22a610bc3850 Carlo Caione 2017-04-06 722
312a522531f6e5 Antheas Kapenekakis 2025-03-24 723 return no_led ? -ENODEV : 0;
af22a610bc3850 Carlo Caione 2017-04-06 724 }
af22a610bc3850 Carlo Caione 2017-04-06 725
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki