On Fri, Jul 10, 2020 at 12:47:31AM +0800, kernel test robot wrote:
> Hi Sven,
> 
> FYI, the error/warning still remains.
> 
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
> master
> head:   0bddd227f3dc55975e2b8dfa7fc6f959b062a2c7
> commit: 52e8a94baf9026276fcdc9ff21a50dc2ca0bc94b ASoC: Add initial ZL38060 
> driver
> date:   3 months ago
> config: x86_64-randconfig-r004-20200709 (attached as .config)
> compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 
> 02946de3802d3bc65bc9f2eb9b8d4969b5a7add8)
> 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
>         # install x86_64 cross compiling tool for clang build
>         # apt-get install binutils-x86-64-linux-gnu
>         git checkout 52e8a94baf9026276fcdc9ff21a50dc2ca0bc94b
>         # save the attached .config to linux build tree
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross 
> ARCH=x86_64 
> 
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <l...@intel.com>
> 
> All warnings (new ones prefixed by >>):
> 
> >> sound/soc/codecs/zl38060.c:614:34: warning: unused variable 'zl38_dt_ids' 
> >> [-Wunused-const-variable]
>    static const struct of_device_id zl38_dt_ids[] = {
>                                     ^
>    1 warning generated.
> 
> vim +/zl38_dt_ids +614 sound/soc/codecs/zl38060.c
> 
>    613        
>  > 614        static const struct of_device_id zl38_dt_ids[] = {
>    615                { .compatible = "mscc,zl38060", },
>    616                { /* sentinel */ }
>    617        };
>    618        MODULE_DEVICE_TABLE(of, zl38_dt_ids);
>    619        
> 
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
> 

When CONFIG_SND_SOC_ZL38060 is y, MODULE_DEVICE_TABLE expands to nothing
so zl38_dt_ids will be unused. This is a pretty common construct in the
kernel and the only way I can think of to resolve this through the code
is by adding __used annotations to all of these variables, which I think
is overkill for this.

Personally, I think this warning should be downgraded to W=2, thoughts?

Cheers,
Nathan

Reply via email to