[PATCH v4 0/8] riscv: resolve most warnings from sparse

From: Paul Walmsley
Date: Thu Oct 24 2019 - 18:58:53 EST


Resolve most warnings from the 'sparse' static analysis tool for the
arch/riscv codebase. This makes life easier for us as maintainers,
and makes it easier for developers to use static analysis tools on
their own changes.

This fourth version drops some patches that were in the previous
versions, and restructures some of what was left. Much of this was
based on feedback from Christoph Hellwig <hch@xxxxxx>, Luc Van
Oostenryck <luc.vanoostenryck@xxxxxxxxx>, and Greentime Hu
<greentime.hu@xxxxxxxxxx>.

Applies on the current riscv fixes branch, which itself is based on
v5.4-rc5. Tested on RV32 QEMU, RV64 QEMU, and the SiFive HiFive
Unleashed board.


- Paul


Paul Walmsley (6):
riscv: add prototypes for assembly language functions from head.S
riscv: init: merge split string literals in preprocessor directive
riscv: mark some code and data as file-static
riscv: add missing header file includes
riscv: fp: add missing __user pointer annotations
riscv: for C functions called only from assembly, mark with __visible

Kernel object size difference:
text data bss dec hex filename
6662533 2136168 312608 9111309 8b070d vmlinux.rv64.orig
6662537 2136160 312608 9111305 8b0709 vmlinux.rv64.patched
6443041 1792976 255184 8491201 8190c1 vmlinux.rv32.orig
6443021 1792968 255184 8491173 8190a5 vmlinux.rv32.patched

arch/riscv/include/asm/irq.h | 3 +++
arch/riscv/include/asm/switch_to.h | 1 +
arch/riscv/kernel/cpufeature.c | 1 +
arch/riscv/kernel/head.h | 21 +++++++++++++++++++++
arch/riscv/kernel/irq.c | 2 +-
arch/riscv/kernel/module-sections.c | 1 +
arch/riscv/kernel/process.c | 2 ++
arch/riscv/kernel/ptrace.c | 4 ++--
arch/riscv/kernel/reset.c | 1 +
arch/riscv/kernel/setup.c | 2 ++
arch/riscv/kernel/signal.c | 8 ++++----
arch/riscv/kernel/smp.c | 2 ++
arch/riscv/kernel/smpboot.c | 5 ++++-
arch/riscv/kernel/syscall_table.c | 1 +
arch/riscv/kernel/time.c | 1 +
arch/riscv/kernel/traps.c | 5 +++--
arch/riscv/kernel/vdso.c | 3 ++-
arch/riscv/mm/context.c | 1 +
arch/riscv/mm/fault.c | 2 ++
arch/riscv/mm/init.c | 5 +++--
arch/riscv/mm/sifive_l2_cache.c | 2 +-
21 files changed, 59 insertions(+), 14 deletions(-)
create mode 100644 arch/riscv/kernel/head.h

--
2.24.0.rc0