[peterz-queue:sched/core 32/32] arch/arm64/include/asm/preempt.h:85:1: error: type defaults to 'int' in declaration of 'DECLARE_STATIC_KEY_TRUE'

From: kernel test robot
Date: Tue Feb 08 2022 - 06:34:05 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git sched/core
head: ac7695a93a578befdcf4900a90860bf19e057e1b
commit: ac7695a93a578befdcf4900a90860bf19e057e1b [32/32] arm64: support PREEMPT_DYNAMIC
config: arm64-randconfig-s031-20220208 (https://download.01.org/0day-ci/archive/20220208/202202081918.RDLHzFHh-lkp@xxxxxxxxx/config)
compiler: aarch64-linux-gcc (GCC) 11.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/commit/?id=ac7695a93a578befdcf4900a90860bf19e057e1b
git remote add peterz-queue https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git
git fetch --no-tags peterz-queue sched/core
git checkout ac7695a93a578befdcf4900a90860bf19e057e1b
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm64 prepare

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All error/warnings (new ones prefixed by >>):

In file included from include/linux/preempt.h:78,
from include/linux/smp.h:110,
from include/linux/lockdep.h:14,
from include/linux/mutex.h:17,
from include/linux/kernfs.h:11,
from include/linux/sysfs.h:16,
from include/linux/kobject.h:20,
from include/linux/of.h:17,
from include/linux/irqdomain.h:35,
from include/linux/acpi.h:13,
from include/acpi/apei.h:9,
from include/acpi/ghes.h:5,
from include/linux/arm_sdei.h:8,
from arch/arm64/kernel/asm-offsets.c:10:
>> arch/arm64/include/asm/preempt.h:85:1: warning: data definition has no type or storage class
85 | DECLARE_STATIC_KEY_TRUE(sk_dynamic_irqentry_exit_cond_resched);
| ^~~~~~~~~~~~~~~~~~~~~~~
>> arch/arm64/include/asm/preempt.h:85:1: error: type defaults to 'int' in declaration of 'DECLARE_STATIC_KEY_TRUE' [-Werror=implicit-int]
>> arch/arm64/include/asm/preempt.h:85:1: warning: parameter names (without types) in function declaration
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:121: arch/arm64/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1191: prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:219: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.


vim +85 arch/arm64/include/asm/preempt.h

84
> 85 DECLARE_STATIC_KEY_TRUE(sk_dynamic_irqentry_exit_cond_resched);
86 void dynamic_preempt_schedule(void);
87 #define __preempt_schedule() dynamic_preempt_schedule()
88 void dynamic_preempt_schedule_notrace(void);
89 #define __preempt_schedule_notrace() dynamic_preempt_schedule_notrace()
90

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx