LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Christophe Leroy (CS GROUP)" <chleroy@kernel.org>
To: kernel test robot <lkp@intel.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>
Cc: oe-kbuild-all@lists.linux.dev, linuxppc-dev@lists.ozlabs.org,
	Shrikanth Hegde <sshegde@linux.ibm.com>,
	Josh Poimboeuf <jpoimboe@redhat.com>
Subject: Re: [powerpc:fixes-test 10/12] include/linux/static_call.h:223:9: warning: data definition has no type or storage class
Date: Sat, 11 Jul 2026 09:40:42 +0200	[thread overview]
Message-ID: <621a46b3-74a3-4a1f-b81f-f50ea18a541e@kernel.org> (raw)
In-Reply-To: <202607110847.u4TL0RJC-lkp@intel.com>



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



  reply	other threads:[~2026-07-11  7:40 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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) [this message]
2026-07-11 13:20   ` Shrikanth Hegde

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=621a46b3-74a3-4a1f-b81f-f50ea18a541e@kernel.org \
    --to=chleroy@kernel.org \
    --cc=jpoimboe@redhat.com \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=lkp@intel.com \
    --cc=maddy@linux.ibm.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=sshegde@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox