Message ID | 20210920121421.93297-1-arnd@kernel.org (mailing list archive) |
---|---|
State | Rejected |
Headers | show |
Series | hwmon: dell-smm-hwmon: remove unused variable warning | expand |
Hello! On Monday 20 September 2021 14:14:16 Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > When procfs is disabled ... then the i8k_init_procfs function should not be called as the purpose of I8K code / config option is to export functionality over procfs. So when procfs is disabled then this i8k is noop. Patch which do not allow compilation of I8K when procfs is not enabled is pending here: https://lore.kernel.org/linux-hwmon/20210910071921.16777-1-rdunlap@infradead.org/ Ideally please test or review it. As you are not the first one who spotted -Werror problems with i8k and tried to workaround it. https://lore.kernel.org/linux-hwmon/20210915151759.cxcbzxd74weg4qw6@pali/ For compatibility reasons I still have I8K enabled, so I have not triggered this issue yet. Anyway, do you know if somebody on desktop / laptop (which is the only option where this i8k driver makes sense to be enabled) really using kernel without procfs? I would like to know if this warning / error is just artificial configuration generated by test scripts (and cannot be hit by any user) or if there is a real user who will be affected by this issue. > the code produces a warning > for an unused variable: > > drivers/hwmon/dell-smm-hwmon.c: In function 'i8k_init_procfs': > drivers/hwmon/dell-smm-hwmon.c:624:31: error: unused variable 'data' [-Werror=unused-variable] > 624 | struct dell_smm_data *data = dev_get_drvdata(dev); > | ^~~~ I'm starting to hate this -Werror decision... but seems that we have to deal with it and together cleanup code as much as possible. > Remove that local variable and just pass dev_get_drvdata(dev) > directly. > > Fixes: ba04d73c26ed ("hwmon: (dell-smm-hwmon) Move variables into a driver private data structure") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > drivers/hwmon/dell-smm-hwmon.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/hwmon/dell-smm-hwmon.c b/drivers/hwmon/dell-smm-hwmon.c > index 774c1b0715d9..0a3ce22c78e6 100644 > --- a/drivers/hwmon/dell-smm-hwmon.c > +++ b/drivers/hwmon/dell-smm-hwmon.c > @@ -621,10 +621,8 @@ static void i8k_exit_procfs(void *param) > > static void __init i8k_init_procfs(struct device *dev) > { > - struct dell_smm_data *data = dev_get_drvdata(dev); > - > /* Register the proc entry */ > - proc_create_data("i8k", 0, NULL, &i8k_proc_ops, data); > + proc_create_data("i8k", 0, NULL, &i8k_proc_ops, dev_get_drvdata(dev)); > > devm_add_action_or_reset(dev, i8k_exit_procfs, NULL); > } > -- > 2.29.2 >
On Mon, Sep 20, 2021 at 2:31 PM Pali Rohár <pali@kernel.org> wrote: > On Monday 20 September 2021 14:14:16 Arnd Bergmann wrote: > > From: Arnd Bergmann <arnd@arndb.de> > > > > When procfs is disabled > > ... then the i8k_init_procfs function should not be called as the > purpose of I8K code / config option is to export functionality over > procfs. So when procfs is disabled then this i8k is noop. > > Patch which do not allow compilation of I8K when procfs is not enabled > is pending here: > > https://lore.kernel.org/linux-hwmon/20210910071921.16777-1-rdunlap@infradead.org/ > > Ideally please test or review it. As you are not the first one who > spotted -Werror problems with i8k and tried to workaround it. Ok, I'm now using that version in my randconfig tree, it looks sensible and it addresses another problem. I'll let you know if something else comes up with that patch applied, but I'm sure it fixes the issue I reported. Feel free to add Reported-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Arnd Bergmann <arnd@arndb.de> to Randy's patch if you like. > > the code produces a warning > > for an unused variable: > > > > drivers/hwmon/dell-smm-hwmon.c: In function 'i8k_init_procfs': > > drivers/hwmon/dell-smm-hwmon.c:624:31: error: unused variable 'data' [-Werror=unused-variable] > > 624 | struct dell_smm_data *data = dev_get_drvdata(dev); > > | ^~~~ > > I'm starting to hate this -Werror decision... but seems that we have to > deal with it and together cleanup code as much as possible. Oh, I totally would have sent you my patch without the -Werror change as well ;-) Arnd
On Mon, Sep 20, 2021 at 03:14:40PM +0200, Arnd Bergmann wrote: > On Mon, Sep 20, 2021 at 2:31 PM Pali Rohár <pali@kernel.org> wrote: > > On Monday 20 September 2021 14:14:16 Arnd Bergmann wrote: > > > From: Arnd Bergmann <arnd@arndb.de> > > > > > > When procfs is disabled > > > > ... then the i8k_init_procfs function should not be called as the > > purpose of I8K code / config option is to export functionality over > > procfs. So when procfs is disabled then this i8k is noop. > > > > Patch which do not allow compilation of I8K when procfs is not enabled > > is pending here: > > > > https://lore.kernel.org/linux-hwmon/20210910071921.16777-1-rdunlap@infradead.org/ > > > > Ideally please test or review it. As you are not the first one who > > spotted -Werror problems with i8k and tried to workaround it. > > Ok, I'm now using that version in my randconfig tree, it looks sensible > and it addresses another problem. I'll let you know if something else > comes up with that patch applied, but I'm sure it fixes the issue > I reported. Feel free to add > > Reported-by: Arnd Bergmann <arnd@arndb.de> > Reviewed-by: Arnd Bergmann <arnd@arndb.de> > > to Randy's patch if you like. > You'd have to reply to the patch. This is in x86 world and I can not apply it, or at least not without Ack from an x86 maintainer. They went ballistic on me once for doing that, and I won't do it again. Guenter
Hi Arnd,
I love your patch! Yet something to improve:
[auto build test ERROR on groeck-staging/hwmon-next]
[also build test ERROR on v5.15-rc2 next-20210920]
[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]
url: https://github.com/0day-ci/linux/commits/Arnd-Bergmann/hwmon-dell-smm-hwmon-remove-unused-variable-warning/20210920-201938
base: https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git hwmon-next
config: x86_64-buildonly-randconfig-r002-20210920 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project c8b3d7d6d6de37af68b2f379d0e37304f78e115f)
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://github.com/0day-ci/linux/commit/79c5da5ded917bfb113669f400fc547dcbe49b97
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Arnd-Bergmann/hwmon-dell-smm-hwmon-remove-unused-variable-warning/20210920-201938
git checkout 79c5da5ded917bfb113669f400fc547dcbe49b97
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
>> drivers/hwmon/dell-smm-hwmon.c:609:30: error: unused variable 'i8k_proc_ops' [-Werror,-Wunused-const-variable]
static const struct proc_ops i8k_proc_ops = {
^
1 error generated.
vim +/i8k_proc_ops +609 drivers/hwmon/dell-smm-hwmon.c
^1da177e4c3f4152 drivers/char/i8k.c Linus Torvalds 2005-04-16 608
97a32539b9568bb6 drivers/hwmon/dell-smm-hwmon.c Alexey Dobriyan 2020-02-03 @609 static const struct proc_ops i8k_proc_ops = {
97a32539b9568bb6 drivers/hwmon/dell-smm-hwmon.c Alexey Dobriyan 2020-02-03 610 .proc_open = i8k_open_fs,
97a32539b9568bb6 drivers/hwmon/dell-smm-hwmon.c Alexey Dobriyan 2020-02-03 611 .proc_read = seq_read,
97a32539b9568bb6 drivers/hwmon/dell-smm-hwmon.c Alexey Dobriyan 2020-02-03 612 .proc_lseek = seq_lseek,
97a32539b9568bb6 drivers/hwmon/dell-smm-hwmon.c Alexey Dobriyan 2020-02-03 613 .proc_release = single_release,
97a32539b9568bb6 drivers/hwmon/dell-smm-hwmon.c Alexey Dobriyan 2020-02-03 614 .proc_ioctl = i8k_ioctl,
039ae58503f33491 drivers/hwmon/dell-smm-hwmon.c Pali Rohár 2015-05-14 615 };
039ae58503f33491 drivers/hwmon/dell-smm-hwmon.c Pali Rohár 2015-05-14 616
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
diff --git a/drivers/hwmon/dell-smm-hwmon.c b/drivers/hwmon/dell-smm-hwmon.c index 774c1b0715d9..0a3ce22c78e6 100644 --- a/drivers/hwmon/dell-smm-hwmon.c +++ b/drivers/hwmon/dell-smm-hwmon.c @@ -621,10 +621,8 @@ static void i8k_exit_procfs(void *param) static void __init i8k_init_procfs(struct device *dev) { - struct dell_smm_data *data = dev_get_drvdata(dev); - /* Register the proc entry */ - proc_create_data("i8k", 0, NULL, &i8k_proc_ops, data); + proc_create_data("i8k", 0, NULL, &i8k_proc_ops, dev_get_drvdata(dev)); devm_add_action_or_reset(dev, i8k_exit_procfs, NULL); }