Re: drivers/platform/x86/thinkpad_acpi.c:918:30: error: unused variable 'dispatch_proc_ops'

From: Hans de Goede
Date: Tue Nov 16 2021 - 05:17:43 EST


Hi,

On 11/13/21 17:44, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 66f4beaa6c1d28161f534471484b2daa2de1dce0
> commit: fd96e35ea7b95f1e216277805be89d66e4ae962d platform/x86: thinkpad_acpi: Fix bitwise vs. logical warning
> date: 4 weeks ago
> config: i386-buildonly-randconfig-r002-20211109 (attached as .config)
> compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 63ef0e17e28827eae53133b3467bdac7d9729318)
> reproduce (this is a W=1 build):
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fd96e35ea7b95f1e216277805be89d66e4ae962d
> git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> git fetch --no-tags linus master
> git checkout fd96e35ea7b95f1e216277805be89d66e4ae962d
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=i386
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
>
> All errors (new ones prefixed by >>):
>
>>> drivers/platform/x86/thinkpad_acpi.c:918:30: error: unused variable 'dispatch_proc_ops' [-Werror,-Wunused-const-variable]
> static const struct proc_ops dispatch_proc_ops = {
> ^
> 1 error generated.

So this has absolutely nothing to do with the:

"platform/x86: thinkpad_acpi: Fix bitwise vs. logical warning"

commit, the problem is that:

1. the .config does not have CONFIG_PROC_FS set; combined with:
2. include/linux/proc_fs.h using a #define instead of a
static inline for proc_create_data() when this is the case
3. This is a clang WERROR build

The thinkpad_acpi code cannot really function without procfs
support anyways (it will error out on probe if proc_create_data()
returns NULL) so I will shortly submit a fix adding a
depends on PROC_FS to fix this.

I must say that as a maintainer I'm unhappy about the amount
of noise being generated by clang WERROR builds here though,
is it really necessary for the kernel test robot to do builds
of this type ?

Regards,

Hans





>
>
> vim +/dispatch_proc_ops +918 drivers/platform/x86/thinkpad_acpi.c
>
> ^1da177e4c3f41 drivers/acpi/ibm_acpi.c Linus Torvalds 2005-04-16 917
> 97a32539b9568b drivers/platform/x86/thinkpad_acpi.c Alexey Dobriyan 2020-02-03 @918 static const struct proc_ops dispatch_proc_ops = {
> 97a32539b9568b drivers/platform/x86/thinkpad_acpi.c Alexey Dobriyan 2020-02-03 919 .proc_open = dispatch_proc_open,
> 97a32539b9568b drivers/platform/x86/thinkpad_acpi.c Alexey Dobriyan 2020-02-03 920 .proc_read = seq_read,
> 97a32539b9568b drivers/platform/x86/thinkpad_acpi.c Alexey Dobriyan 2020-02-03 921 .proc_lseek = seq_lseek,
> 97a32539b9568b drivers/platform/x86/thinkpad_acpi.c Alexey Dobriyan 2020-02-03 922 .proc_release = single_release,
> 97a32539b9568b drivers/platform/x86/thinkpad_acpi.c Alexey Dobriyan 2020-02-03 923 .proc_write = dispatch_proc_write,
> 887965e6576a78 drivers/platform/x86/thinkpad_acpi.c Alexey Dobriyan 2009-12-15 924 };
> 887965e6576a78 drivers/platform/x86/thinkpad_acpi.c Alexey Dobriyan 2009-12-15 925
>
> :::::: The code at line 918 was first introduced by commit
> :::::: 97a32539b9568bb653683349e5a76d02ff3c3e2c proc: convert everything to "struct proc_ops"
>
> :::::: TO: Alexey Dobriyan <adobriyan@xxxxxxxxx>
> :::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
>