Re: [PATCH 3/5] HID: Extract vivaldi hid feature mapping for use in hid-hammer

From: Stephen Boyd
Date: Fri Feb 04 2022 - 21:19:22 EST


Quoting kernel test robot (2022-02-04 16:15:59)
> Hi Stephen,
>
> I love your patch! Yet something to improve:
>
> [auto build test ERROR on 26291c54e111ff6ba87a164d85d4a4e134b7315c]
>
> url: https://github.com/0day-ci/linux/commits/Stephen-Boyd/Input-HID-Consolidate-ChromeOS-Vivaldi-keyboard-logic/20220205-042211
> base: 26291c54e111ff6ba87a164d85d4a4e134b7315c
> config: x86_64-randconfig-a004-20220131 (https://download.01.org/0day-ci/archive/20220205/202202050807.BvUyitVE-lkp@xxxxxxxxx/config)
> compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
> reproduce (this is a W=1 build):
> # https://github.com/0day-ci/linux/commit/83759eb892fd16fd0bb7ff4bb0c4baa4e7a0283e
> git remote add linux-review https://github.com/0day-ci/linux
> git fetch --no-tags linux-review Stephen-Boyd/Input-HID-Consolidate-ChromeOS-Vivaldi-keyboard-logic/20220205-042211
> git checkout 83759eb892fd16fd0bb7ff4bb0c4baa4e7a0283e
> # save the config file to linux build tree
> mkdir build_dir
> make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
>
> All errors (new ones prefixed by >>):
>
> vmlinux.o: warning: objtool: mce_start()+0x4e: call to clear_bit() leaves .noinstr.text section
> vmlinux.o: warning: objtool: mce_read_aux()+0x41: call to mca_msr_reg() leaves .noinstr.text section
> vmlinux.o: warning: objtool: do_machine_check()+0x39d: call to test_bit() leaves .noinstr.text section
> vmlinux.o: warning: objtool: enter_from_user_mode()+0x4e: call to on_thread_stack() leaves .noinstr.text section
> vmlinux.o: warning: objtool: syscall_enter_from_user_mode()+0x53: call to on_thread_stack() leaves .noinstr.text section
> vmlinux.o: warning: objtool: syscall_enter_from_user_mode_prepare()+0x4e: call to on_thread_stack() leaves .noinstr.text section
> vmlinux.o: warning: objtool: irqentry_enter_from_user_mode()+0x4e: call to on_thread_stack() leaves .noinstr.text section
> ld: drivers/input/vivaldi-keymap.o: in function `vivaldi_hid_feature_mapping':
> >> drivers/input/vivaldi-keymap.c:73: undefined reference to `hid_alloc_report_buf'
> >> ld: drivers/input/vivaldi-keymap.c:90: undefined reference to `hid_hw_raw_request'
> >> ld: drivers/input/vivaldi-keymap.c:108: undefined reference to `hid_report_raw_event'
>

Ah I see. CONFIG_HID=m but CONFIG_VIVALDIFMAP=y so we need to make the
whole file into a module when CONFIG_HID is a module, but then that
means the atkbd driver would need to be a module too. Probably best to
move this hid part to yet another file in drivers/hid/ to keep things
tidy.