Re: [PATCH 3/3] HID: nvidia-shield: Introduce thunderstrike_destroy()
From: Rahul Rameshbabu <rrameshbabu@nvidia.com>
Date: 2023-08-27 19:42:30
Also in:
kernel-janitors, lkml, oe-kbuild-all
Possibly related (same subject, not in this thread)
- 2023-08-26 · Re: [PATCH 3/3] HID: nvidia-shield: Introduce thunderstrike_destroy() · kernel test robot <hidden>
- 2023-08-26 · Re: [PATCH 3/3] HID: nvidia-shield: Introduce thunderstrike_destroy() · Christophe JAILLET <hidden>
- 2023-08-26 · Re: [PATCH 3/3] HID: nvidia-shield: Introduce thunderstrike_destroy() · kernel test robot <hidden>
- 2023-08-26 · [PATCH 3/3] HID: nvidia-shield: Introduce thunderstrike_destroy() · Christophe JAILLET <hidden>
On Sat, 26 Aug, 2023 23:13:01 +0200 Christophe JAILLET [off-list ref] wrote:
Le 26/08/2023 à 22:00, kernel test robot a écrit :quoted
Hi Christophe, kernel test robot noticed the following build warnings: [auto build test WARNING on linux-next/master] [cannot apply to linus/master v6.5-rc7] [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/Christophe-JAILLET/HID-nvidia-shield-Fix-a-missing-led_classdev_unregister-in-the-probe-error-handling-path/20230827-014602 base: linux-next/master patch link: https://lore.kernel.org/r/4c9a8c7f6b4eb879dd7ef4d44bb6a80b3f126d25.1693070958.git.christophe.jaillet%40wanadoo.fr patch subject: [PATCH 3/3] HID: nvidia-shield: Introduce thunderstrike_destroy() config: parisc-allyesconfig (https://download.01.org/0day-ci/archive/20230827/202308270307.EDe7t62T-lkp@intel.com/config) compiler: hppa-linux-gcc (GCC) 13.2.0On x86_64, gcc 12.3.0 does not complain. :(
The key to getting gcc to spew the warning is passing W=1 for the make
variable to get the compiler to invoke the unused warning.
[nix-shell:~/Documents/linux]$ make help | grep -i W=
make W=n [targets] Enable extra build checks, n=1,2,3 where
Multiple levels can be combined with W=12 or W=123
linux on cjaillet/shield-fixup [?] via ❄️ impure (linux-6.1.31)
❯ make -C $dev/lib/modules/*/build M=$(pwd)/drivers/hid W=1 modules
CC [M] /home/binary-eater/Documents/linux/drivers/hid/hid-nvidia-shield.o
/home/binary-eater/Documents/linux/drivers/hid/hid-nvidia-shield.c: In function ‘shield_probe’:
/home/binary-eater/Documents/linux/drivers/hid/hid-nvidia-shield.c:1046:31: warning: variable ‘ts’ set but not used [-Wunused-but-set-variable]
1046 | struct thunderstrike *ts;
| ^~
MODPOST /home/binary-eater/Documents/linux/drivers/hid/Module.symvers
CC [M] /home/binary-eater/Documents/linux/drivers/hid/hid-nvidia-shield.mod.o
LD [M] /home/binary-eater/Documents/linux/drivers/hid/hid-nvidia-shield.ko
BTF [M] /home/binary-eater/Documents/linux/drivers/hid/hid-nvidia-shield.ko
linux on cjaillet/shield-fixup [?] via ❄️ impure (linux-6.1.31) took 4s
❯ gcc --version
gcc (GCC) 12.2.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Hope this is helpful.
-- Rahul Rameshbabu
Let see first if there is some comment on the serie, then I'll send a v2 to fix the warning. CJquoted
reproduce: (https://download.01.org/0day-ci/archive/20230827/202308270307.EDe7t62T-lkp@intel.com/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 [off-list ref] | Closes: https://lore.kernel.org/oe-kbuild-all/202308270307.EDe7t62T-lkp@intel.com/ (local) All warnings (new ones prefixed by >>): drivers/hid/hid-nvidia-shield.c: In function 'shield_probe':quoted
quoted
drivers/hid/hid-nvidia-shield.c:1046:31: warning: variable 'ts' set but not used [-Wunused-but-set-variable]1046 | struct thunderstrike *ts; | ^~ vim +/ts +1046 drivers/hid/hid-nvidia-shield.c 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1042 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1043 static int shield_probe(struct hid_device *hdev, const struct hid_device_id *id) 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1044 { 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1045 struct shield_device *shield_dev = NULL; 09308562d4afb1a Rahul Rameshbabu 2023-06-08 @1046 struct thunderstrike *ts; 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1047 int ret; 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1048 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1049 ret = hid_parse(hdev); 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1050 if (ret) { 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1051 hid_err(hdev, "Parse failed\n"); 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1052 return ret; 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1053 } 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1054 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1055 switch (id->product) { 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1056 case USB_DEVICE_ID_NVIDIA_THUNDERSTRIKE_CONTROLLER: 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1057 shield_dev = thunderstrike_create(hdev); 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1058 break; 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1059 } 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1060 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1061 if (unlikely(!shield_dev)) { 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1062 hid_err(hdev, "Failed to identify SHIELD device\n"); 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1063 return -ENODEV; 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1064 } 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1065 if (IS_ERR(shield_dev)) { 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1066 hid_err(hdev, "Failed to create SHIELD device\n"); 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1067 return PTR_ERR(shield_dev); 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1068 } 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1069 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1070 ts = container_of(shield_dev, struct thunderstrike, base); 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1071 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1072 ret = hid_hw_start(hdev, HID_CONNECT_HIDINPUT); 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1073 if (ret) { 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1074 hid_err(hdev, "Failed to start HID device\n"); 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1075 goto err_haptics; 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1076 } 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1077 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1078 ret = hid_hw_open(hdev); 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1079 if (ret) { 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1080 hid_err(hdev, "Failed to open HID device\n"); 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1081 goto err_stop; 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1082 } 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1083 3ab196f882377ed Rahul Rameshbabu 2023-08-07 1084 thunderstrike_device_init_info(shield_dev); 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1085 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1086 return ret; 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1087 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1088 err_stop: 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1089 hid_hw_stop(hdev); 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1090 err_haptics: 2cc4637842495c6 Christophe JAILLET 2023-08-26 1091 thunderstrike_destroy(hdev); 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1092 return ret; 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1093 } 09308562d4afb1a Rahul Rameshbabu 2023-06-08 1094