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:24:11 EST


Hi,

On 11/16/21 11:17, Hans de Goede wrote:
> 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.

Thinking more about this I'm going to fix this in a more generic
way by changing the #define for proc_create_data() to a
static inline, which should help other drivers in the same
boat too.

Regards,

Hans



>
> 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
>>