Hi Vishnu, kernel test robot noticed the following build errors: [auto build test ERROR on hid/for-next] [also build test ERROR on linus/master v6.12-rc1 next-20241004] [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/Vishnu-Sankar/hid-lenovo-Support-for-TP-X12-TAB-1-2-Kbd-Fn-keys-that-use-HID-raw-events/20241003-175338 base: https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git for-next patch link: https://lore.kernel.org/r/20241003095124.7611-1-vishnuocv%40gmail.com patch subject: [PATCH] hid-lenovo: Support for TP-X12-TAB-1/2 Kbd Fn keys that use HID raw events. config: x86_64-randconfig-r133-20241004 (https://download.01.org/0day-ci/archive/20241005/202410051041.FZvxgBII-lkp@xxxxxxxxx/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241005/202410051041.FZvxgBII-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/202410051041.FZvxgBII-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): ld: vmlinux.o: in function `lenovo_raw_event_TP_X12_tab': >> drivers/hid/hid-lenovo.c:729: undefined reference to `platform_profile_cycle' vim +729 drivers/hid/hid-lenovo.c 701 702 /* Function to handle Lenovo Thinkpad TAB X12's HID raw inputs for fn keys*/ 703 static int lenovo_raw_event_TP_X12_tab(struct hid_device *hdev, u32 raw_data) 704 { 705 struct hid_input *hidinput; 706 struct input_dev *input = NULL; 707 708 /* Iterate through the associated inputs to find the correct input device */ 709 list_for_each_entry(hidinput, &hdev->inputs, list) { 710 input = hidinput->input; 711 if (input) 712 break; /* Use the first valid input device */ 713 } 714 715 switch (raw_data) { 716 /* fn-F20 being used here for MIC mute*/ 717 case TP_X12_RAW_HOTKEY_FN_F4: 718 report_key_event(input, LENOVO_KEY_MICMUTE); 719 return 1; 720 /* Power-mode or Airplane mode will be called based on the device*/ 721 case TP_X12_RAW_HOTKEY_FN_F8: 722 /* 723 * TP X12 TAB uses Fn-F8 calls Airplanemode 724 * Whereas TP X12 TAB2 uses Fn-F8 for toggling 725 * Power modes 726 */ 727 (hdev->product == USB_DEVICE_ID_LENOVO_X12_TAB) ? 728 report_key_event(input, KEY_RFKILL) : > 729 platform_profile_cycle(); 730 return 1; 731 case TP_X12_RAW_HOTKEY_FN_F10: 732 /* TAB1 has PICKUP Phone and TAB2 use Snipping tool*/ 733 (hdev->product == USB_DEVICE_ID_LENOVO_X12_TAB) ? 734 report_key_event(input, KEY_PICKUP_PHONE) : 735 report_key_event(input, KEY_SELECTIVE_SCREENSHOT); 736 return 1; 737 case TP_X12_RAW_HOTKEY_FN_F12: 738 /* BookMarks/STAR key*/ 739 report_key_event(input, KEY_BOOKMARKS); 740 return 1; 741 case TP_X12_RAW_HOTKEY_FN_SPACE: 742 /* Keyboard LED backlight toggle*/ 743 report_key_event(input, KEY_KBDILLUMTOGGLE); 744 return 1; 745 case TP_X12_RAW_HOTKEY_FN_F7: 746 /* DISPLAY switching when connecting to external monitors*/ 747 report_key_event(input, KEY_SWITCHVIDEOMODE); 748 return 1; 749 default: 750 break; 751 } 752 return 0; 753 } 754 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki