* [powerpc:fixes-test 10/12] include/linux/static_call.h:223:9: warning: data definition has no type or storage class
@ 2026-07-11 1:52 kernel test robot
2026-07-11 7:40 ` Christophe Leroy (CS GROUP)
0 siblings, 1 reply; 3+ messages in thread
From: kernel test robot @ 2026-07-11 1:52 UTC (permalink / raw)
To: Christophe Leroy (CS GROUP)
Cc: oe-kbuild-all, linuxppc-dev, Madhavan Srinivasan, Shrikanth Hegde
tree: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git fixes-test
head: afc2830892a128a13a65f677271a0a48aeb61b5e
commit: 4747e17fe063720a30b1c0075bae3e8f8acd26f4 [10/12] powerpc/32: Use HAVE_PREEMPT_DYNAMIC_CALL instead of HAVE_PREEMPT_DYNAMIC_KEY
config: powerpc-randconfig-001-20260711 (https://download.01.org/0day-ci/archive/20260711/202607110847.u4TL0RJC-lkp@intel.com/config)
compiler: powerpc-linux-gcc (GCC) 11.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260711/202607110847.u4TL0RJC-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202607110847.u4TL0RJC-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from include/linux/tracepoint.h:22,
from include/trace/syscall.h:5,
from include/linux/syscalls.h:95,
from include/linux/syscalls_api.h:1,
from kernel/sched/core.c:16:
>> include/linux/static_call.h:223:9: warning: data definition has no type or storage class
223 | ARCH_ADD_TRAMP_KEY(name)
| ^~~~~~~~~~~~~~~~~~
kernel/sched/core.c:7449:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
7449 | EXPORT_STATIC_CALL_TRAMP(preempt_schedule);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/static_call.h:223:9: error: type defaults to 'int' in declaration of 'ARCH_ADD_TRAMP_KEY' [-Werror=implicit-int]
223 | ARCH_ADD_TRAMP_KEY(name)
| ^~~~~~~~~~~~~~~~~~
kernel/sched/core.c:7449:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
7449 | EXPORT_STATIC_CALL_TRAMP(preempt_schedule);
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> kernel/sched/core.c:7449:1: warning: parameter names (without types) in function declaration
In file included from include/linux/tracepoint.h:22,
from include/trace/syscall.h:5,
from include/linux/syscalls.h:95,
from include/linux/syscalls_api.h:1,
from kernel/sched/core.c:16:
>> include/linux/static_call.h:223:9: warning: data definition has no type or storage class
223 | ARCH_ADD_TRAMP_KEY(name)
| ^~~~~~~~~~~~~~~~~~
kernel/sched/core.c:7522:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
7522 | EXPORT_STATIC_CALL_TRAMP(preempt_schedule_notrace);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/static_call.h:223:9: error: type defaults to 'int' in declaration of 'ARCH_ADD_TRAMP_KEY' [-Werror=implicit-int]
223 | ARCH_ADD_TRAMP_KEY(name)
| ^~~~~~~~~~~~~~~~~~
kernel/sched/core.c:7522:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
7522 | EXPORT_STATIC_CALL_TRAMP(preempt_schedule_notrace);
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/core.c:7522:1: warning: parameter names (without types) in function declaration
In file included from include/linux/tracepoint.h:22,
from include/trace/syscall.h:5,
from include/linux/syscalls.h:95,
from include/linux/syscalls_api.h:1,
from kernel/sched/core.c:16:
>> include/linux/static_call.h:223:9: warning: data definition has no type or storage class
223 | ARCH_ADD_TRAMP_KEY(name)
| ^~~~~~~~~~~~~~~~~~
kernel/sched/core.c:7769:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
7769 | EXPORT_STATIC_CALL_TRAMP(cond_resched);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/static_call.h:223:9: error: type defaults to 'int' in declaration of 'ARCH_ADD_TRAMP_KEY' [-Werror=implicit-int]
223 | ARCH_ADD_TRAMP_KEY(name)
| ^~~~~~~~~~~~~~~~~~
kernel/sched/core.c:7769:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
7769 | EXPORT_STATIC_CALL_TRAMP(cond_resched);
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/core.c:7769:1: warning: parameter names (without types) in function declaration
In file included from include/linux/tracepoint.h:22,
from include/trace/syscall.h:5,
from include/linux/syscalls.h:95,
from include/linux/syscalls_api.h:1,
from kernel/sched/core.c:16:
>> include/linux/static_call.h:223:9: warning: data definition has no type or storage class
223 | ARCH_ADD_TRAMP_KEY(name)
| ^~~~~~~~~~~~~~~~~~
kernel/sched/core.c:7774:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
7774 | EXPORT_STATIC_CALL_TRAMP(might_resched);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/static_call.h:223:9: error: type defaults to 'int' in declaration of 'ARCH_ADD_TRAMP_KEY' [-Werror=implicit-int]
223 | ARCH_ADD_TRAMP_KEY(name)
| ^~~~~~~~~~~~~~~~~~
kernel/sched/core.c:7774:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
7774 | EXPORT_STATIC_CALL_TRAMP(might_resched);
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/core.c:7774:1: warning: parameter names (without types) in function declaration
cc1: some warnings being treated as errors
vim +223 include/linux/static_call.h
9183c3f9ed710a8 Josh Poimboeuf 2020-08-18 212
9183c3f9ed710a8 Josh Poimboeuf 2020-08-18 213 #define EXPORT_STATIC_CALL(name) \
9183c3f9ed710a8 Josh Poimboeuf 2020-08-18 214 EXPORT_SYMBOL(STATIC_CALL_KEY(name)); \
9183c3f9ed710a8 Josh Poimboeuf 2020-08-18 215 EXPORT_SYMBOL(STATIC_CALL_TRAMP(name))
9183c3f9ed710a8 Josh Poimboeuf 2020-08-18 216 #define EXPORT_STATIC_CALL_GPL(name) \
9183c3f9ed710a8 Josh Poimboeuf 2020-08-18 217 EXPORT_SYMBOL_GPL(STATIC_CALL_KEY(name)); \
9183c3f9ed710a8 Josh Poimboeuf 2020-08-18 218 EXPORT_SYMBOL_GPL(STATIC_CALL_TRAMP(name))
9183c3f9ed710a8 Josh Poimboeuf 2020-08-18 219
73f44fe19d35963 Josh Poimboeuf 2021-01-27 220 /* Leave the key unexported, so modules can't change static call targets: */
73f44fe19d35963 Josh Poimboeuf 2021-01-27 221 #define EXPORT_STATIC_CALL_TRAMP(name) \
73f44fe19d35963 Josh Poimboeuf 2021-01-27 222 EXPORT_SYMBOL(STATIC_CALL_TRAMP(name)); \
73f44fe19d35963 Josh Poimboeuf 2021-01-27 @223 ARCH_ADD_TRAMP_KEY(name)
73f44fe19d35963 Josh Poimboeuf 2021-01-27 224 #define EXPORT_STATIC_CALL_TRAMP_GPL(name) \
73f44fe19d35963 Josh Poimboeuf 2021-01-27 225 EXPORT_SYMBOL_GPL(STATIC_CALL_TRAMP(name)); \
73f44fe19d35963 Josh Poimboeuf 2021-01-27 226 ARCH_ADD_TRAMP_KEY(name)
73f44fe19d35963 Josh Poimboeuf 2021-01-27 227
:::::: The code at line 223 was first introduced by commit
:::::: 73f44fe19d359635a607e8e8daa0da4001c1cfc2 static_call: Allow module use without exposing static_call_key
:::::: TO: Josh Poimboeuf <jpoimboe@redhat.com>
:::::: CC: Ingo Molnar <mingo@kernel.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [powerpc:fixes-test 10/12] include/linux/static_call.h:223:9: warning: data definition has no type or storage class
2026-07-11 1:52 [powerpc:fixes-test 10/12] include/linux/static_call.h:223:9: warning: data definition has no type or storage class kernel test robot
@ 2026-07-11 7:40 ` Christophe Leroy (CS GROUP)
2026-07-11 13:20 ` Shrikanth Hegde
0 siblings, 1 reply; 3+ messages in thread
From: Christophe Leroy (CS GROUP) @ 2026-07-11 7:40 UTC (permalink / raw)
To: kernel test robot, Madhavan Srinivasan
Cc: oe-kbuild-all, linuxppc-dev, Shrikanth Hegde, Josh Poimboeuf
Le 11/07/2026 à 03:52, kernel test robot a écrit :
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git fixes-test
> head: afc2830892a128a13a65f677271a0a48aeb61b5e
> commit: 4747e17fe063720a30b1c0075bae3e8f8acd26f4 [10/12] powerpc/32: Use HAVE_PREEMPT_DYNAMIC_CALL instead of HAVE_PREEMPT_DYNAMIC_KEY
> config: powerpc-randconfig-001-20260711 (https://download.01.org/0day-ci/archive/20260711/202607110847.u4TL0RJC-lkp@intel.com/config)
> compiler: powerpc-linux-gcc (GCC) 11.5.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260711/202607110847.u4TL0RJC-lkp@intel.com/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@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202607110847.u4TL0RJC-lkp@intel.com/
>
> All warnings (new ones prefixed by >>):
>
> In file included from include/linux/tracepoint.h:22,
> from include/trace/syscall.h:5,
> from include/linux/syscalls.h:95,
> from include/linux/syscalls_api.h:1,
> from kernel/sched/core.c:16:
>>> include/linux/static_call.h:223:9: warning: data definition has no type or storage class
> 223 | ARCH_ADD_TRAMP_KEY(name)
Looks like powerpc is missing ARCH_ADD_TRAMP() macro, introduced by
commit 73f44fe19d35 ("static_call: Allow module use without exposing
static_call_key") for x86. I missed it when adding inline static calls
with commit f50b45626e05 ("powerpc/static_call: Implement inline static
calls").
I will have to fix that before we can activate HAVE_PREEMPT_DYNAMIC_CALL.
Christophe
> | ^~~~~~~~~~~~~~~~~~
> kernel/sched/core.c:7449:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
> 7449 | EXPORT_STATIC_CALL_TRAMP(preempt_schedule);
> | ^~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/static_call.h:223:9: error: type defaults to 'int' in declaration of 'ARCH_ADD_TRAMP_KEY' [-Werror=implicit-int]
> 223 | ARCH_ADD_TRAMP_KEY(name)
> | ^~~~~~~~~~~~~~~~~~
> kernel/sched/core.c:7449:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
> 7449 | EXPORT_STATIC_CALL_TRAMP(preempt_schedule);
> | ^~~~~~~~~~~~~~~~~~~~~~~~
>>> kernel/sched/core.c:7449:1: warning: parameter names (without types) in function declaration
> In file included from include/linux/tracepoint.h:22,
> from include/trace/syscall.h:5,
> from include/linux/syscalls.h:95,
> from include/linux/syscalls_api.h:1,
> from kernel/sched/core.c:16:
>>> include/linux/static_call.h:223:9: warning: data definition has no type or storage class
> 223 | ARCH_ADD_TRAMP_KEY(name)
> | ^~~~~~~~~~~~~~~~~~
> kernel/sched/core.c:7522:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
> 7522 | EXPORT_STATIC_CALL_TRAMP(preempt_schedule_notrace);
> | ^~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/static_call.h:223:9: error: type defaults to 'int' in declaration of 'ARCH_ADD_TRAMP_KEY' [-Werror=implicit-int]
> 223 | ARCH_ADD_TRAMP_KEY(name)
> | ^~~~~~~~~~~~~~~~~~
> kernel/sched/core.c:7522:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
> 7522 | EXPORT_STATIC_CALL_TRAMP(preempt_schedule_notrace);
> | ^~~~~~~~~~~~~~~~~~~~~~~~
> kernel/sched/core.c:7522:1: warning: parameter names (without types) in function declaration
> In file included from include/linux/tracepoint.h:22,
> from include/trace/syscall.h:5,
> from include/linux/syscalls.h:95,
> from include/linux/syscalls_api.h:1,
> from kernel/sched/core.c:16:
>>> include/linux/static_call.h:223:9: warning: data definition has no type or storage class
> 223 | ARCH_ADD_TRAMP_KEY(name)
> | ^~~~~~~~~~~~~~~~~~
> kernel/sched/core.c:7769:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
> 7769 | EXPORT_STATIC_CALL_TRAMP(cond_resched);
> | ^~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/static_call.h:223:9: error: type defaults to 'int' in declaration of 'ARCH_ADD_TRAMP_KEY' [-Werror=implicit-int]
> 223 | ARCH_ADD_TRAMP_KEY(name)
> | ^~~~~~~~~~~~~~~~~~
> kernel/sched/core.c:7769:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
> 7769 | EXPORT_STATIC_CALL_TRAMP(cond_resched);
> | ^~~~~~~~~~~~~~~~~~~~~~~~
> kernel/sched/core.c:7769:1: warning: parameter names (without types) in function declaration
> In file included from include/linux/tracepoint.h:22,
> from include/trace/syscall.h:5,
> from include/linux/syscalls.h:95,
> from include/linux/syscalls_api.h:1,
> from kernel/sched/core.c:16:
>>> include/linux/static_call.h:223:9: warning: data definition has no type or storage class
> 223 | ARCH_ADD_TRAMP_KEY(name)
> | ^~~~~~~~~~~~~~~~~~
> kernel/sched/core.c:7774:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
> 7774 | EXPORT_STATIC_CALL_TRAMP(might_resched);
> | ^~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/static_call.h:223:9: error: type defaults to 'int' in declaration of 'ARCH_ADD_TRAMP_KEY' [-Werror=implicit-int]
> 223 | ARCH_ADD_TRAMP_KEY(name)
> | ^~~~~~~~~~~~~~~~~~
> kernel/sched/core.c:7774:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
> 7774 | EXPORT_STATIC_CALL_TRAMP(might_resched);
> | ^~~~~~~~~~~~~~~~~~~~~~~~
> kernel/sched/core.c:7774:1: warning: parameter names (without types) in function declaration
> cc1: some warnings being treated as errors
>
>
> vim +223 include/linux/static_call.h
>
> 9183c3f9ed710a8 Josh Poimboeuf 2020-08-18 212
> 9183c3f9ed710a8 Josh Poimboeuf 2020-08-18 213 #define EXPORT_STATIC_CALL(name) \
> 9183c3f9ed710a8 Josh Poimboeuf 2020-08-18 214 EXPORT_SYMBOL(STATIC_CALL_KEY(name)); \
> 9183c3f9ed710a8 Josh Poimboeuf 2020-08-18 215 EXPORT_SYMBOL(STATIC_CALL_TRAMP(name))
> 9183c3f9ed710a8 Josh Poimboeuf 2020-08-18 216 #define EXPORT_STATIC_CALL_GPL(name) \
> 9183c3f9ed710a8 Josh Poimboeuf 2020-08-18 217 EXPORT_SYMBOL_GPL(STATIC_CALL_KEY(name)); \
> 9183c3f9ed710a8 Josh Poimboeuf 2020-08-18 218 EXPORT_SYMBOL_GPL(STATIC_CALL_TRAMP(name))
> 9183c3f9ed710a8 Josh Poimboeuf 2020-08-18 219
> 73f44fe19d35963 Josh Poimboeuf 2021-01-27 220 /* Leave the key unexported, so modules can't change static call targets: */
> 73f44fe19d35963 Josh Poimboeuf 2021-01-27 221 #define EXPORT_STATIC_CALL_TRAMP(name) \
> 73f44fe19d35963 Josh Poimboeuf 2021-01-27 222 EXPORT_SYMBOL(STATIC_CALL_TRAMP(name)); \
> 73f44fe19d35963 Josh Poimboeuf 2021-01-27 @223 ARCH_ADD_TRAMP_KEY(name)
> 73f44fe19d35963 Josh Poimboeuf 2021-01-27 224 #define EXPORT_STATIC_CALL_TRAMP_GPL(name) \
> 73f44fe19d35963 Josh Poimboeuf 2021-01-27 225 EXPORT_SYMBOL_GPL(STATIC_CALL_TRAMP(name)); \
> 73f44fe19d35963 Josh Poimboeuf 2021-01-27 226 ARCH_ADD_TRAMP_KEY(name)
> 73f44fe19d35963 Josh Poimboeuf 2021-01-27 227
>
> :::::: The code at line 223 was first introduced by commit
> :::::: 73f44fe19d359635a607e8e8daa0da4001c1cfc2 static_call: Allow module use without exposing static_call_key
>
> :::::: TO: Josh Poimboeuf <jpoimboe@redhat.com>
> :::::: CC: Ingo Molnar <mingo@kernel.org>
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [powerpc:fixes-test 10/12] include/linux/static_call.h:223:9: warning: data definition has no type or storage class
2026-07-11 7:40 ` Christophe Leroy (CS GROUP)
@ 2026-07-11 13:20 ` Shrikanth Hegde
0 siblings, 0 replies; 3+ messages in thread
From: Shrikanth Hegde @ 2026-07-11 13:20 UTC (permalink / raw)
To: Christophe Leroy (CS GROUP), kernel test robot,
Madhavan Srinivasan
Cc: oe-kbuild-all, linuxppc-dev, Josh Poimboeuf
Hi Christophe,
On 7/11/26 1:10 PM, Christophe Leroy (CS GROUP) wrote:
>
>
> Le 11/07/2026 à 03:52, kernel test robot a écrit :
>> tree: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/
>> linux.git fixes-test
>> head: afc2830892a128a13a65f677271a0a48aeb61b5e
>> commit: 4747e17fe063720a30b1c0075bae3e8f8acd26f4 [10/12] powerpc/32:
>> Use HAVE_PREEMPT_DYNAMIC_CALL instead of HAVE_PREEMPT_DYNAMIC_KEY
>> config: powerpc-randconfig-001-20260711 (https://download.01.org/0day-
>> ci/archive/20260711/202607110847.u4TL0RJC-lkp@intel.com/config)
>> compiler: powerpc-linux-gcc (GCC) 11.5.0
>> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/
>> archive/20260711/202607110847.u4TL0RJC-lkp@intel.com/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@intel.com>
>> | Closes: https://lore.kernel.org/oe-kbuild-all/202607110847.u4TL0RJC-
>> lkp@intel.com/
>>
>> All warnings (new ones prefixed by >>):
>>
>> In file included from include/linux/tracepoint.h:22,
>> from include/trace/syscall.h:5,
>> from include/linux/syscalls.h:95,
>> from include/linux/syscalls_api.h:1,
>> from kernel/sched/core.c:16:
>>>> include/linux/static_call.h:223:9: warning: data definition has no
>>>> type or storage class
>> 223 | ARCH_ADD_TRAMP_KEY(name)
>
> Looks like powerpc is missing ARCH_ADD_TRAMP() macro, introduced by
> commit 73f44fe19d35 ("static_call: Allow module use without exposing
> static_call_key") for x86. I missed it when adding inline static calls
> with commit f50b45626e05 ("powerpc/static_call: Implement inline static
> calls").
>
> I will have to fix that before we can activate HAVE_PREEMPT_DYNAMIC_CALL.
>
> Christophe
>
One more thing to note,
Below series would remove all the EXPORT_STATIC_CALL_TRAMP
instances in scheduler.
That series make sense given that none/voluntary can't be selected now.
https://lore.kernel.org/all/20260703133358.698078-1-mark.rutland@arm.com/
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-07-11 13:21 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-11 1:52 [powerpc:fixes-test 10/12] include/linux/static_call.h:223:9: warning: data definition has no type or storage class kernel test robot
2026-07-11 7:40 ` Christophe Leroy (CS GROUP)
2026-07-11 13:20 ` Shrikanth Hegde
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.