On 12/3/24 2:56 AM, Gavin Shan wrote:
On 12/3/24 4:03 PM, kernel test robot wrote:
Hi Jeremy,
kernel test robot noticed the following build warnings:
[auto build test WARNING on arm64/for-next/core]
[also build test WARNING on linus/master v6.13-rc1 next-20241128]
[cannot apply to kvmarm/next soc/for-next arm/for-next arm/fixes]
[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/Jeremy-Linton/ arm64-rsi-Add-automatic-arm-cca-guest-module-loading/20241203-080347
base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/ linux.git for-next/core
patch link: https://lore.kernel.org/r/20241203000156.72451-2- jeremy.linton%40arm.com
patch subject: [PATCH v2 1/1] arm64: rsi: Add automatic arm-cca-guest module loading
config: arm64-randconfig-004-20241203 (https://download.01.org/0day- ci/archive/20241203/202412031348.bp5i3ws2-lkp@xxxxxxxxx/config)
compiler: clang version 20.0.0git (https://github.com/llvm/llvm- project 592c0fe55f6d9a811028b5f3507be91458ab2713)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/ archive/20241203/202412031348.bp5i3ws2-lkp@xxxxxxxxx/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 <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412031348.bp5i3ws2- lkp@xxxxxxxxx/
All warnings (new ones prefixed by >>):
224 | static const struct __maybe_unused platform_device_id arm_cca_match[] = {drivers/virt/coco/arm-cca-guest/arm-cca-guest.c:224:21: warning: attribute declaration must precede definition [-Wignored-attributes]
| ^
include/linux/compiler_attributes.h:356:56: note: expanded from macro '__maybe_unused'
356 | #define __maybe_unused __attribute__((__unused__))
| ^
include/linux/mod_devicetable.h:607:8: note: previous definition is here
607 | struct platform_device_id {
| ^
224 | static const struct __maybe_unused platform_device_id arm_cca_match[] = {drivers/virt/coco/arm-cca-guest/arm-cca-guest.c:224:55: warning: unused variable 'arm_cca_match' [-Wunused-const-variable]
| ^~~~~~~~~~~~~
2 warnings generated.
vim +224 drivers/virt/coco/arm-cca-guest/arm-cca-guest.c
222
223 /* modalias, so userspace can autoload this module when RSI is available */
> 224 static const struct __maybe_unused platform_device_id arm_cca_match[] = {
225 { RSI_PDEV_NAME, 0},
226 { }
227 };
228
The definition may have to be something like below, to avoid the compiling warning.
static const struct platform_device_id __maybe_unused arm_cca_match[] = {
I should have tested this with clang rather than copy/pasting the utilization from somewhere else! It looks like a number of other kernel users are putting it before the '=', but its sorta annoying because it seems like the kind of warning that should be suppressed globally for this case (module device description in module that can be built in).
...
};