arch: vdso: consolidate gettime prototypes
authorArnd Bergmann <arnd@arndb.de>
Wed, 8 Nov 2023 12:58:36 +0000 (13:58 +0100)
committerArnd Bergmann <arnd@arndb.de>
Thu, 23 Nov 2023 10:32:32 +0000 (11:32 +0100)
commit42874e4eb35bdfc54f8514685e50434098ba4f6c
tree29f59d539262ceab775e81d57c9db12b0e7051cb
parentf717a8d1643d6515c7179cf32408f7d5a0e2e33b
arch: vdso: consolidate gettime prototypes

The VDSO functions are defined as globals in the kernel sources but intended
to be called from userspace, so there is no need to declare them in a kernel
side header.

Without a prototype, this now causes warnings such as

arch/mips/vdso/vgettimeofday.c:14:5: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
arch/mips/vdso/vgettimeofday.c:28:5: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
arch/mips/vdso/vgettimeofday.c:36:5: error: no previous prototype for '__vdso_clock_getres' [-Werror=missing-prototypes]
arch/mips/vdso/vgettimeofday.c:42:5: error: no previous prototype for '__vdso_clock_gettime64' [-Werror=missing-prototypes]
arch/sparc/vdso/vclock_gettime.c:254:1: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
arch/sparc/vdso/vclock_gettime.c:282:1: error: no previous prototype for '__vdso_clock_gettime_stick' [-Werror=missing-prototypes]
arch/sparc/vdso/vclock_gettime.c:307:1: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
arch/sparc/vdso/vclock_gettime.c:343:1: error: no previous prototype for '__vdso_gettimeofday_stick' [-Werror=missing-prototypes]

Most architectures have already added workarounds for these by adding
declarations somewhere, but since these are all compatible, we should
really just have one copy, with an #ifdef check for the 32-bit vs
64-bit variant and use that everywhere.

Unfortunately, the sparc an um versions are currently incompatible
since they never added support for __vdso_clock_gettime64() in 32-bit
userland. For the moment, I'm leaving this one out, as I can't
easily test it and it requires a larger rework.

Reviewed-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
arch/arm/include/asm/vdso.h
arch/arm/vdso/vgettimeofday.c
arch/arm64/kernel/vdso32/vgettimeofday.c
arch/csky/kernel/vdso/vgettimeofday.c
arch/loongarch/vdso/vgettimeofday.c
arch/mips/vdso/vgettimeofday.c
arch/riscv/kernel/vdso/vgettimeofday.c
arch/x86/entry/vdso/vclock_gettime.c
arch/x86/include/asm/vdso/gettimeofday.h
include/vdso/gettime.h [new file with mode: 0644]