* powerpc asm-prototypes.h seems odd
@ 2019-08-27 11:04 Masahiro Yamada
2019-08-27 14:04 ` Daniel Axtens
0 siblings, 1 reply; 2+ messages in thread
From: Masahiro Yamada @ 2019-08-27 11:04 UTC (permalink / raw)
To: Nicholas Piggin, Michael Ellerman, linuxppc-dev; +Cc: Linux Kernel Mailing List
Hi.
Lots of powerpc files include <asm/asm-prototypes.h>,
and powerpc is the only architecture that does this.
<asm/asm-prototypes.h> exists to support modversion for asm.
So, it is supposed to be parsed by genksysms, not to be
included from other files. Right?
$ git grep asm/asm-prototypes.h
arch/arm64/include/asm/asm-prototypes.h: * ... kbuild will
automatically pick these up from <asm/asm-prototypes.h> and
arch/powerpc/kernel/early_32.c:#include <asm/asm-prototypes.h>
arch/powerpc/kernel/irq.c:#include <asm/asm-prototypes.h>
arch/powerpc/kernel/machine_kexec_64.c:#include <asm/asm-prototypes.h>
arch/powerpc/kernel/process.c:#include <asm/asm-prototypes.h>
arch/powerpc/kernel/prom_init.c:#include <asm/asm-prototypes.h>
arch/powerpc/kernel/ptrace.c:#include <asm/asm-prototypes.h>
arch/powerpc/kernel/security.c:#include <asm/asm-prototypes.h>
arch/powerpc/kernel/setup_32.c:#include <asm/asm-prototypes.h>
arch/powerpc/kernel/signal_32.c:#include <asm/asm-prototypes.h>
arch/powerpc/kernel/signal_64.c:#include <asm/asm-prototypes.h>
arch/powerpc/kernel/smp.c:#include <asm/asm-prototypes.h>
arch/powerpc/kernel/syscalls.c:#include <asm/asm-prototypes.h>
arch/powerpc/kernel/tau_6xx.c:#include <asm/asm-prototypes.h>
arch/powerpc/kernel/time.c:#include <asm/asm-prototypes.h>
arch/powerpc/kernel/trace/ftrace.c:#include <asm/asm-prototypes.h>
arch/powerpc/kernel/traps.c:#include <asm/asm-prototypes.h>
arch/powerpc/kvm/book3s_emulate.c:#include <asm/asm-prototypes.h>
arch/powerpc/kvm/book3s_hv.c:#include <asm/asm-prototypes.h>
arch/powerpc/kvm/book3s_hv_builtin.c:#include <asm/asm-prototypes.h>
arch/powerpc/kvm/book3s_hv_rm_xive.c:#include <asm/asm-prototypes.h>
arch/powerpc/kvm/book3s_pr.c:#include <asm/asm-prototypes.h>
arch/powerpc/lib/vmx-helper.c:#include <asm/asm-prototypes.h>
arch/powerpc/mm/book3s64/hash_utils.c:#include <asm/asm-prototypes.h>
arch/powerpc/mm/book3s64/slb.c:#include <asm/asm-prototypes.h>
arch/powerpc/platforms/powernv/idle.c:#include <asm/asm-prototypes.h>
arch/powerpc/platforms/powernv/opal-call.c:#include <asm/asm-prototypes.h>
arch/powerpc/platforms/powernv/opal-tracepoints.c:#include
<asm/asm-prototypes.h>
arch/powerpc/platforms/pseries/lpar.c:#include <asm/asm-prototypes.h>
scripts/Makefile.build:# .S file exports must have their C prototypes
defined in asm/asm-prototypes.h
scripts/Makefile.build: echo "\#include <asm/asm-prototypes.h>" ;
\
scripts/Makefile.build:ASM_PROTOTYPES := $(wildcard
$(srctree)/arch/$(SRCARCH)/include/asm/asm-prototypes.h)
--
Best Regards
Masahiro Yamada
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: powerpc asm-prototypes.h seems odd
2019-08-27 11:04 powerpc asm-prototypes.h seems odd Masahiro Yamada
@ 2019-08-27 14:04 ` Daniel Axtens
0 siblings, 0 replies; 2+ messages in thread
From: Daniel Axtens @ 2019-08-27 14:04 UTC (permalink / raw)
To: Masahiro Yamada, Nicholas Piggin, Michael Ellerman, linuxppc-dev
Cc: Linux Kernel Mailing List
Masahiro Yamada <yamada.masahiro@socionext.com> writes:
> Hi.
>
> Lots of powerpc files include <asm/asm-prototypes.h>,
> and powerpc is the only architecture that does this.
>
> <asm/asm-prototypes.h> exists to support modversion for asm.
> So, it is supposed to be parsed by genksysms, not to be
> included from other files. Right?
It exists to support sparse, squashing a bunch of sparse warnings.
From the commit where I introduced it:
commit 42f5b4cacd783faf05e3ff8bf85e8be31f3dfa9d
Author: Daniel Axtens <dja@axtens.net>
Date: Wed May 18 11:16:50 2016 +1000
powerpc: Introduce asm-prototypes.h
Sparse picked up a number of functions that are implemented in C and
then only referred to in asm code.
This introduces asm-prototypes.h, which provides a place for
prototypes of these functions.
This silences some sparse warnings.
Signed-off-by: Daniel Axtens <dja@axtens.net>
[mpe: Add include guards, clean up copyright & GPL text]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Regards,
Daniel
>
>
> $ git grep asm/asm-prototypes.h
> arch/arm64/include/asm/asm-prototypes.h: * ... kbuild will
> automatically pick these up from <asm/asm-prototypes.h> and
> arch/powerpc/kernel/early_32.c:#include <asm/asm-prototypes.h>
> arch/powerpc/kernel/irq.c:#include <asm/asm-prototypes.h>
> arch/powerpc/kernel/machine_kexec_64.c:#include <asm/asm-prototypes.h>
> arch/powerpc/kernel/process.c:#include <asm/asm-prototypes.h>
> arch/powerpc/kernel/prom_init.c:#include <asm/asm-prototypes.h>
> arch/powerpc/kernel/ptrace.c:#include <asm/asm-prototypes.h>
> arch/powerpc/kernel/security.c:#include <asm/asm-prototypes.h>
> arch/powerpc/kernel/setup_32.c:#include <asm/asm-prototypes.h>
> arch/powerpc/kernel/signal_32.c:#include <asm/asm-prototypes.h>
> arch/powerpc/kernel/signal_64.c:#include <asm/asm-prototypes.h>
> arch/powerpc/kernel/smp.c:#include <asm/asm-prototypes.h>
> arch/powerpc/kernel/syscalls.c:#include <asm/asm-prototypes.h>
> arch/powerpc/kernel/tau_6xx.c:#include <asm/asm-prototypes.h>
> arch/powerpc/kernel/time.c:#include <asm/asm-prototypes.h>
> arch/powerpc/kernel/trace/ftrace.c:#include <asm/asm-prototypes.h>
> arch/powerpc/kernel/traps.c:#include <asm/asm-prototypes.h>
> arch/powerpc/kvm/book3s_emulate.c:#include <asm/asm-prototypes.h>
> arch/powerpc/kvm/book3s_hv.c:#include <asm/asm-prototypes.h>
> arch/powerpc/kvm/book3s_hv_builtin.c:#include <asm/asm-prototypes.h>
> arch/powerpc/kvm/book3s_hv_rm_xive.c:#include <asm/asm-prototypes.h>
> arch/powerpc/kvm/book3s_pr.c:#include <asm/asm-prototypes.h>
> arch/powerpc/lib/vmx-helper.c:#include <asm/asm-prototypes.h>
> arch/powerpc/mm/book3s64/hash_utils.c:#include <asm/asm-prototypes.h>
> arch/powerpc/mm/book3s64/slb.c:#include <asm/asm-prototypes.h>
> arch/powerpc/platforms/powernv/idle.c:#include <asm/asm-prototypes.h>
> arch/powerpc/platforms/powernv/opal-call.c:#include <asm/asm-prototypes.h>
> arch/powerpc/platforms/powernv/opal-tracepoints.c:#include
> <asm/asm-prototypes.h>
> arch/powerpc/platforms/pseries/lpar.c:#include <asm/asm-prototypes.h>
> scripts/Makefile.build:# .S file exports must have their C prototypes
> defined in asm/asm-prototypes.h
> scripts/Makefile.build: echo "\#include <asm/asm-prototypes.h>" ;
> \
> scripts/Makefile.build:ASM_PROTOTYPES := $(wildcard
> $(srctree)/arch/$(SRCARCH)/include/asm/asm-prototypes.h)
>
>
>
> --
> Best Regards
> Masahiro Yamada
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-08-27 14:27 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-08-27 11:04 powerpc asm-prototypes.h seems odd Masahiro Yamada
2019-08-27 14:04 ` Daniel Axtens
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).