[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202210300151.7TiGB0l8-lkp@intel.com>
Date: Sun, 30 Oct 2022 01:57:36 +0800
From: kernel test robot <lkp@...el.com>
To: Benjamin Tissoires <benjamin.tissoires@...hat.com>,
Greg KH <greg@...ah.com>, Jiri Kosina <jikos@...nel.org>,
Jonathan Corbet <corbet@....net>,
Shuah Khan <skhan@...uxfoundation.org>
Cc: oe-kbuild-all@...ts.linux.dev,
Tero Kristo <tero.kristo@...ux.intel.com>,
linux-kernel@...r.kernel.org, linux-input@...r.kernel.org,
bpf@...r.kernel.org, linux-kselftest@...r.kernel.org,
linux-doc@...r.kernel.org,
Benjamin Tissoires <benjamin.tissoires@...hat.com>
Subject: Re: [PATCH hid v11 01/14] HID: Kconfig: split HID support and
hid-core compilation
Hi Benjamin,
I love your patch! Yet something to improve:
[auto build test ERROR on hid/master]
url: https://github.com/intel-lab-lkp/linux/commits/Benjamin-Tissoires/Introduce-eBPF-support-for-HID-devices/20221025-173852
base: https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git master
patch link: https://lore.kernel.org/r/20221025093458.457089-2-benjamin.tissoires%40redhat.com
patch subject: [PATCH hid v11 01/14] HID: Kconfig: split HID support and hid-core compilation
config: i386-randconfig-a004-20221003
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
reproduce (this is a W=1 build):
# https://github.com/intel-lab-lkp/linux/commit/b6e78c340cbaf82c96ab3148db0b13f737abe8d7
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Benjamin-Tissoires/Introduce-eBPF-support-for-HID-devices/20221025-173852
git checkout b6e78c340cbaf82c96ab3148db0b13f737abe8d7
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>
All errors (new ones prefixed by >>):
ld: drivers/hid/hid-a4tech.o: in function `hid_parse':
include/linux/hid.h:1094: undefined reference to `hid_open_report'
ld: drivers/hid/hid-a4tech.o: in function `a4_probe':
drivers/hid/hid-a4tech.c:134: undefined reference to `hid_hw_start'
ld: drivers/hid/hid-a4tech.o: in function `a4_driver_init':
drivers/hid/hid-a4tech.c:164: undefined reference to `__hid_register_driver'
ld: drivers/hid/hid-a4tech.o: in function `a4_driver_exit':
drivers/hid/hid-a4tech.c:164: undefined reference to `hid_unregister_driver'
ld: drivers/hid/hid-apple.o: in function `apple_remove':
>> drivers/hid/hid-apple.c:851: undefined reference to `hid_hw_stop'
ld: drivers/hid/hid-apple.o: in function `apple_backlight_set':
>> drivers/hid/hid-apple.c:736: undefined reference to `hid_hw_raw_request'
ld: drivers/hid/hid-apple.o: in function `apple_backlight_init':
drivers/hid/hid-apple.c:765: undefined reference to `hid_hw_raw_request'
ld: drivers/hid/hid-apple.o: in function `hid_parse':
include/linux/hid.h:1094: undefined reference to `hid_open_report'
ld: drivers/hid/hid-apple.o: in function `apple_probe':
>> drivers/hid/hid-apple.c:828: undefined reference to `hid_hw_start'
ld: drivers/hid/hid-apple.o: in function `apple_driver_init':
>> drivers/hid/hid-apple.c:1068: undefined reference to `__hid_register_driver'
ld: drivers/hid/hid-apple.o: in function `apple_driver_exit':
>> drivers/hid/hid-apple.c:1068: undefined reference to `hid_unregister_driver'
ld: drivers/hid/hid-belkin.o: in function `hid_parse':
include/linux/hid.h:1094: undefined reference to `hid_open_report'
ld: drivers/hid/hid-belkin.o: in function `belkin_probe':
drivers/hid/hid-belkin.c:59: undefined reference to `hid_hw_start'
ld: drivers/hid/hid-belkin.o: in function `belkin_driver_init':
drivers/hid/hid-belkin.c:86: undefined reference to `__hid_register_driver'
ld: drivers/hid/hid-belkin.o: in function `belkin_driver_exit':
drivers/hid/hid-belkin.c:86: undefined reference to `hid_unregister_driver'
ld: drivers/hid/hid-cherry.o: in function `ch_driver_init':
drivers/hid/hid-cherry.c:69: undefined reference to `__hid_register_driver'
ld: drivers/hid/hid-cherry.o: in function `ch_driver_exit':
drivers/hid/hid-cherry.c:69: undefined reference to `hid_unregister_driver'
ld: drivers/hid/hid-cypress.o: in function `hid_parse':
include/linux/hid.h:1094: undefined reference to `hid_open_report'
ld: drivers/hid/hid-cypress.o: in function `cp_probe':
drivers/hid/hid-cypress.c:141: undefined reference to `hid_hw_start'
ld: drivers/hid/hid-cypress.o: in function `cp_driver_init':
drivers/hid/hid-cypress.c:177: undefined reference to `__hid_register_driver'
ld: drivers/hid/hid-cypress.o: in function `cp_driver_exit':
drivers/hid/hid-cypress.c:177: undefined reference to `hid_unregister_driver'
ld: drivers/hid/hid-ezkey.o: in function `ez_driver_init':
drivers/hid/hid-ezkey.c:76: undefined reference to `__hid_register_driver'
ld: drivers/hid/hid-ezkey.o: in function `ez_driver_exit':
drivers/hid/hid-ezkey.c:76: undefined reference to `hid_unregister_driver'
ld: drivers/hid/hid-ite.o: in function `ite_probe':
drivers/hid/hid-ite.c:99: undefined reference to `hid_open_report'
>> ld: drivers/hid/hid-ite.c:103: undefined reference to `hid_hw_start'
ld: drivers/hid/hid-ite.o: in function `ite_driver_init':
drivers/hid/hid-ite.c:136: undefined reference to `__hid_register_driver'
ld: drivers/hid/hid-ite.o: in function `ite_driver_exit':
drivers/hid/hid-ite.c:136: undefined reference to `hid_unregister_driver'
ld: drivers/hid/hid-kensington.o: in function `ks_driver_init':
drivers/hid/hid-kensington.c:47: undefined reference to `__hid_register_driver'
ld: drivers/hid/hid-kensington.o: in function `ks_driver_exit':
drivers/hid/hid-kensington.c:47: undefined reference to `hid_unregister_driver'
ld: drivers/hid/hid-microsoft.o: in function `ms_remove':
drivers/hid/hid-microsoft.c:409: undefined reference to `hid_hw_stop'
ld: drivers/hid/hid-microsoft.o: in function `ms_ff_worker':
drivers/hid/hid-microsoft.c:302: undefined reference to `hid_hw_output_report'
ld: drivers/hid/hid-microsoft.o: in function `hid_parse':
include/linux/hid.h:1094: undefined reference to `hid_open_report'
ld: drivers/hid/hid-microsoft.o: in function `ms_probe':
drivers/hid/hid-microsoft.c:391: undefined reference to `hid_hw_start'
ld: drivers/hid/hid-microsoft.o: in function `ms_driver_init':
drivers/hid/hid-microsoft.c:467: undefined reference to `__hid_register_driver'
ld: drivers/hid/hid-microsoft.o: in function `ms_driver_exit':
drivers/hid/hid-microsoft.c:467: undefined reference to `hid_unregister_driver'
ld: drivers/hid/hid-monterey.o: in function `mr_driver_init':
drivers/hid/hid-monterey.c:63: undefined reference to `__hid_register_driver'
ld: drivers/hid/hid-monterey.o: in function `mr_driver_exit':
drivers/hid/hid-monterey.c:63: undefined reference to `hid_unregister_driver'
ld: drivers/hid/hid-redragon.o: in function `redragon_driver_init':
drivers/hid/hid-redragon.c:60: undefined reference to `__hid_register_driver'
ld: drivers/hid/hid-redragon.o: in function `redragon_driver_exit':
drivers/hid/hid-redragon.c:60: undefined reference to `hid_unregister_driver'
pahole: .tmp_vmlinux.btf: No such file or directory
.btf.vmlinux.bin.o: file not recognized: file format not recognized
vim +851 drivers/hid/hid-apple.c
9018eacbe623b2 Paul Pawlowski 2022-02-03 721
9018eacbe623b2 Paul Pawlowski 2022-02-03 722 static int apple_backlight_set(struct hid_device *hdev, u16 value, u16 rate)
9018eacbe623b2 Paul Pawlowski 2022-02-03 723 {
9018eacbe623b2 Paul Pawlowski 2022-02-03 724 int ret = 0;
9018eacbe623b2 Paul Pawlowski 2022-02-03 725 struct apple_backlight_set_report *rep;
9018eacbe623b2 Paul Pawlowski 2022-02-03 726
9018eacbe623b2 Paul Pawlowski 2022-02-03 727 rep = kmalloc(sizeof(*rep), GFP_KERNEL);
9018eacbe623b2 Paul Pawlowski 2022-02-03 728 if (rep == NULL)
9018eacbe623b2 Paul Pawlowski 2022-02-03 729 return -ENOMEM;
9018eacbe623b2 Paul Pawlowski 2022-02-03 730
9018eacbe623b2 Paul Pawlowski 2022-02-03 731 rep->report_id = 0xB0;
9018eacbe623b2 Paul Pawlowski 2022-02-03 732 rep->version = 1;
9018eacbe623b2 Paul Pawlowski 2022-02-03 733 rep->backlight = value;
9018eacbe623b2 Paul Pawlowski 2022-02-03 734 rep->rate = rate;
9018eacbe623b2 Paul Pawlowski 2022-02-03 735
9018eacbe623b2 Paul Pawlowski 2022-02-03 @736 ret = hid_hw_raw_request(hdev, 0xB0u, (u8 *) rep, sizeof(*rep),
9018eacbe623b2 Paul Pawlowski 2022-02-03 737 HID_OUTPUT_REPORT, HID_REQ_SET_REPORT);
9018eacbe623b2 Paul Pawlowski 2022-02-03 738
9018eacbe623b2 Paul Pawlowski 2022-02-03 739 kfree(rep);
9018eacbe623b2 Paul Pawlowski 2022-02-03 740 return ret;
9018eacbe623b2 Paul Pawlowski 2022-02-03 741 }
9018eacbe623b2 Paul Pawlowski 2022-02-03 742
9018eacbe623b2 Paul Pawlowski 2022-02-03 743 static int apple_backlight_led_set(struct led_classdev *led_cdev,
9018eacbe623b2 Paul Pawlowski 2022-02-03 744 enum led_brightness brightness)
9018eacbe623b2 Paul Pawlowski 2022-02-03 745 {
9018eacbe623b2 Paul Pawlowski 2022-02-03 746 struct apple_sc_backlight *backlight = container_of(led_cdev,
9018eacbe623b2 Paul Pawlowski 2022-02-03 747 struct apple_sc_backlight, cdev);
9018eacbe623b2 Paul Pawlowski 2022-02-03 748
9018eacbe623b2 Paul Pawlowski 2022-02-03 749 return apple_backlight_set(backlight->hdev, brightness, 0);
9018eacbe623b2 Paul Pawlowski 2022-02-03 750 }
9018eacbe623b2 Paul Pawlowski 2022-02-03 751
9018eacbe623b2 Paul Pawlowski 2022-02-03 752 static int apple_backlight_init(struct hid_device *hdev)
9018eacbe623b2 Paul Pawlowski 2022-02-03 753 {
9018eacbe623b2 Paul Pawlowski 2022-02-03 754 int ret;
9018eacbe623b2 Paul Pawlowski 2022-02-03 755 struct apple_sc *asc = hid_get_drvdata(hdev);
9018eacbe623b2 Paul Pawlowski 2022-02-03 756 struct apple_backlight_config_report *rep;
9018eacbe623b2 Paul Pawlowski 2022-02-03 757
9018eacbe623b2 Paul Pawlowski 2022-02-03 758 if (!apple_backlight_check_support(hdev))
9018eacbe623b2 Paul Pawlowski 2022-02-03 759 return -EINVAL;
9018eacbe623b2 Paul Pawlowski 2022-02-03 760
9018eacbe623b2 Paul Pawlowski 2022-02-03 761 rep = kmalloc(0x200, GFP_KERNEL);
9018eacbe623b2 Paul Pawlowski 2022-02-03 762 if (rep == NULL)
9018eacbe623b2 Paul Pawlowski 2022-02-03 763 return -ENOMEM;
9018eacbe623b2 Paul Pawlowski 2022-02-03 764
9018eacbe623b2 Paul Pawlowski 2022-02-03 765 ret = hid_hw_raw_request(hdev, 0xBFu, (u8 *) rep, sizeof(*rep),
9018eacbe623b2 Paul Pawlowski 2022-02-03 766 HID_FEATURE_REPORT, HID_REQ_GET_REPORT);
9018eacbe623b2 Paul Pawlowski 2022-02-03 767 if (ret < 0) {
9018eacbe623b2 Paul Pawlowski 2022-02-03 768 hid_err(hdev, "backlight request failed: %d\n", ret);
9018eacbe623b2 Paul Pawlowski 2022-02-03 769 goto cleanup_and_exit;
9018eacbe623b2 Paul Pawlowski 2022-02-03 770 }
9018eacbe623b2 Paul Pawlowski 2022-02-03 771 if (ret < 8 || rep->version != 1) {
9018eacbe623b2 Paul Pawlowski 2022-02-03 772 hid_err(hdev, "backlight config struct: bad version %i\n", rep->version);
9018eacbe623b2 Paul Pawlowski 2022-02-03 773 ret = -EINVAL;
9018eacbe623b2 Paul Pawlowski 2022-02-03 774 goto cleanup_and_exit;
9018eacbe623b2 Paul Pawlowski 2022-02-03 775 }
9018eacbe623b2 Paul Pawlowski 2022-02-03 776
9018eacbe623b2 Paul Pawlowski 2022-02-03 777 hid_dbg(hdev, "backlight config: off=%u, on_min=%u, on_max=%u\n",
9018eacbe623b2 Paul Pawlowski 2022-02-03 778 rep->backlight_off, rep->backlight_on_min, rep->backlight_on_max);
9018eacbe623b2 Paul Pawlowski 2022-02-03 779
9018eacbe623b2 Paul Pawlowski 2022-02-03 780 asc->backlight = devm_kzalloc(&hdev->dev, sizeof(*asc->backlight), GFP_KERNEL);
9018eacbe623b2 Paul Pawlowski 2022-02-03 781 if (!asc->backlight) {
9018eacbe623b2 Paul Pawlowski 2022-02-03 782 ret = -ENOMEM;
9018eacbe623b2 Paul Pawlowski 2022-02-03 783 goto cleanup_and_exit;
9018eacbe623b2 Paul Pawlowski 2022-02-03 784 }
9018eacbe623b2 Paul Pawlowski 2022-02-03 785
9018eacbe623b2 Paul Pawlowski 2022-02-03 786 asc->backlight->hdev = hdev;
9018eacbe623b2 Paul Pawlowski 2022-02-03 787 asc->backlight->cdev.name = "apple::kbd_backlight";
9018eacbe623b2 Paul Pawlowski 2022-02-03 788 asc->backlight->cdev.max_brightness = rep->backlight_on_max;
9018eacbe623b2 Paul Pawlowski 2022-02-03 789 asc->backlight->cdev.brightness_set_blocking = apple_backlight_led_set;
9018eacbe623b2 Paul Pawlowski 2022-02-03 790
9018eacbe623b2 Paul Pawlowski 2022-02-03 791 ret = apple_backlight_set(hdev, 0, 0);
9018eacbe623b2 Paul Pawlowski 2022-02-03 792 if (ret < 0) {
9018eacbe623b2 Paul Pawlowski 2022-02-03 793 hid_err(hdev, "backlight set request failed: %d\n", ret);
9018eacbe623b2 Paul Pawlowski 2022-02-03 794 goto cleanup_and_exit;
9018eacbe623b2 Paul Pawlowski 2022-02-03 795 }
9018eacbe623b2 Paul Pawlowski 2022-02-03 796
9018eacbe623b2 Paul Pawlowski 2022-02-03 797 ret = devm_led_classdev_register(&hdev->dev, &asc->backlight->cdev);
9018eacbe623b2 Paul Pawlowski 2022-02-03 798
9018eacbe623b2 Paul Pawlowski 2022-02-03 799 cleanup_and_exit:
9018eacbe623b2 Paul Pawlowski 2022-02-03 800 kfree(rep);
9018eacbe623b2 Paul Pawlowski 2022-02-03 801 return ret;
9018eacbe623b2 Paul Pawlowski 2022-02-03 802 }
9018eacbe623b2 Paul Pawlowski 2022-02-03 803
8c19a51591d06f Jiri Slaby 2008-06-18 804 static int apple_probe(struct hid_device *hdev,
8c19a51591d06f Jiri Slaby 2008-06-18 805 const struct hid_device_id *id)
8c19a51591d06f Jiri Slaby 2008-06-18 806 {
8c19a51591d06f Jiri Slaby 2008-06-18 807 unsigned long quirks = id->driver_data;
8c19a51591d06f Jiri Slaby 2008-06-18 808 struct apple_sc *asc;
8c19a51591d06f Jiri Slaby 2008-06-18 809 int ret;
8c19a51591d06f Jiri Slaby 2008-06-18 810
abf832bfc349b5 Benjamin Tissoires 2013-07-24 811 asc = devm_kzalloc(&hdev->dev, sizeof(*asc), GFP_KERNEL);
8c19a51591d06f Jiri Slaby 2008-06-18 812 if (asc == NULL) {
4291ee305e9bb0 Joe Perches 2010-12-09 813 hid_err(hdev, "can't alloc apple descriptor\n");
8c19a51591d06f Jiri Slaby 2008-06-18 814 return -ENOMEM;
8c19a51591d06f Jiri Slaby 2008-06-18 815 }
8c19a51591d06f Jiri Slaby 2008-06-18 816
6e143293e17a73 José Expósito 2021-11-18 817 asc->hdev = hdev;
8c19a51591d06f Jiri Slaby 2008-06-18 818 asc->quirks = quirks;
8c19a51591d06f Jiri Slaby 2008-06-18 819
8c19a51591d06f Jiri Slaby 2008-06-18 820 hid_set_drvdata(hdev, asc);
8c19a51591d06f Jiri Slaby 2008-06-18 821
8c19a51591d06f Jiri Slaby 2008-06-18 822 ret = hid_parse(hdev);
8c19a51591d06f Jiri Slaby 2008-06-18 823 if (ret) {
4291ee305e9bb0 Joe Perches 2010-12-09 824 hid_err(hdev, "parse failed\n");
abf832bfc349b5 Benjamin Tissoires 2013-07-24 825 return ret;
8c19a51591d06f Jiri Slaby 2008-06-18 826 }
8c19a51591d06f Jiri Slaby 2008-06-18 827
cc84094218a732 Alexander F. Lent 2021-09-16 @828 ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT);
8c19a51591d06f Jiri Slaby 2008-06-18 829 if (ret) {
4291ee305e9bb0 Joe Perches 2010-12-09 830 hid_err(hdev, "hw start failed\n");
8c19a51591d06f Jiri Slaby 2008-06-18 831 return ret;
8c19a51591d06f Jiri Slaby 2008-06-18 832 }
8c19a51591d06f Jiri Slaby 2008-06-18 833
6e143293e17a73 José Expósito 2021-11-18 834 timer_setup(&asc->battery_timer, apple_battery_timer_tick, 0);
6e143293e17a73 José Expósito 2021-11-18 835 mod_timer(&asc->battery_timer,
6e143293e17a73 José Expósito 2021-11-18 836 jiffies + msecs_to_jiffies(APPLE_BATTERY_TIMEOUT_MS));
6e143293e17a73 José Expósito 2021-11-18 837 apple_fetch_battery(hdev);
6e143293e17a73 José Expósito 2021-11-18 838
9018eacbe623b2 Paul Pawlowski 2022-02-03 839 if (quirks & APPLE_BACKLIGHT_CTL)
9018eacbe623b2 Paul Pawlowski 2022-02-03 840 apple_backlight_init(hdev);
9018eacbe623b2 Paul Pawlowski 2022-02-03 841
abf832bfc349b5 Benjamin Tissoires 2013-07-24 842 return 0;
8c19a51591d06f Jiri Slaby 2008-06-18 843 }
8c19a51591d06f Jiri Slaby 2008-06-18 844
6e143293e17a73 José Expósito 2021-11-18 845 static void apple_remove(struct hid_device *hdev)
6e143293e17a73 José Expósito 2021-11-18 846 {
6e143293e17a73 José Expósito 2021-11-18 847 struct apple_sc *asc = hid_get_drvdata(hdev);
6e143293e17a73 José Expósito 2021-11-18 848
6e143293e17a73 José Expósito 2021-11-18 849 del_timer_sync(&asc->battery_timer);
6e143293e17a73 José Expósito 2021-11-18 850
6e143293e17a73 José Expósito 2021-11-18 @851 hid_hw_stop(hdev);
6e143293e17a73 José Expósito 2021-11-18 852 }
6e143293e17a73 José Expósito 2021-11-18 853
--
0-DAY CI Kernel Test Service
https://01.org/lkp
View attachment "config" of type "text/plain" (145599 bytes)
Powered by blists - more mailing lists