[00/16] ARM: address -Wmissing-prototype warnings

Message ID 20230516154605.517690-1-arnd@kernel.org
Headers
Series ARM: address -Wmissing-prototype warnings |

Message

Arnd Bergmann May 16, 2023, 3:45 p.m. UTC
  From: Arnd Bergmann <arnd@arndb.de>

This addresses all arm specific warnings outside of the mach-*/ code,
which I've submitted separately. The majority of the patches should be
straightforward, either adding an #include statement to get the right
header, or ensuring that an unused global function is left out of the
build when the prototype is hidden.

The ones that are a bit awkward are those that just add a prototype to
shut up the warning, but the prototypes are never used for calling the
function because the only caller is in assembler code. I tried to come
up with other ways to shut up the compiler, and ideally this would be
triggered by the 'asmlinkage' keyword as Ard suggested in the past, but
I could not come up with a way to do this.

All of the warnings have to be addressed in some form before the
warning can be enabled by default.

    Arnd

Link: https://people.kernel.org/arnd/missing-prototype-warnings-in-the-kernel

Arnd Bergmann (16):
  ARM: dma-mapping: hide unused dma_contiguous_early_fixup function
  ARM: traps: hide unused functions on NOMMU
  ARM: vfp: include asm/neon.h in vfpmodule.c
  ARM: vdso: add missing prototypes
  ARM: kprobes: avoid missing-declaration warnings
  ARM: tcm: move tcm_init() prototype to asm/tcm.h
  ARM: add prototype for function called only from asm
  ARM: add clear/copy_user_highpage declarations
  ARM: cacheflush: avoid __flush_anon_page() missing-prototype warning
  ARM: nommu: include asm/idmap.h
  ARM: move setup functions to header
  ARM: fiq: include asm/mach/irq.h for prototypes
  ARM: vfp: add vfp_entry prototype
  ARM: add missing syscall prototypes
  ARM: decompressor: move function prototypes to misc.h
  ARM: xip-kernel: add __inflate_kernel_data prototype

 arch/arm/boot/compressed/atags_to_fdt.c       |  1 +
 .../arm/boot/compressed/fdt_check_mem_start.c |  1 +
 arch/arm/boot/compressed/misc.c               |  6 ---
 arch/arm/boot/compressed/misc.h               | 11 ++++
 arch/arm/include/asm/ftrace.h                 |  4 ++
 arch/arm/include/asm/page.h                   | 22 ++++++++
 arch/arm/include/asm/ptrace.h                 |  3 ++
 arch/arm/include/asm/setup.h                  |  7 +++
 arch/arm/include/asm/signal.h                 |  5 ++
 arch/arm/include/asm/spectre.h                |  4 ++
 arch/arm/include/asm/suspend.h                |  1 +
 arch/arm/include/asm/syscalls.h               | 51 +++++++++++++++++++
 arch/arm/include/asm/tcm.h                    | 11 ++--
 arch/arm/include/asm/traps.h                  |  9 ++++
 arch/arm/include/asm/unwind.h                 |  4 ++
 arch/arm/include/asm/vdso.h                   |  5 ++
 arch/arm/include/asm/vfp.h                    |  1 +
 arch/arm/kernel/fiq.c                         |  1 +
 arch/arm/kernel/head-inflate-data.c           |  5 +-
 arch/arm/kernel/head.h                        |  8 +++
 arch/arm/kernel/setup.c                       |  7 ---
 arch/arm/kernel/signal.c                      |  1 +
 arch/arm/kernel/sys_arm.c                     |  1 +
 arch/arm/kernel/sys_oabi-compat.c             |  2 +
 arch/arm/kernel/traps.c                       |  2 +
 arch/arm/mm/dma-mapping.c                     |  2 +
 arch/arm/mm/fault.h                           |  4 ++
 arch/arm/mm/flush.c                           |  1 +
 arch/arm/mm/mmu.c                             |  2 +-
 arch/arm/mm/nommu.c                           |  1 +
 arch/arm/mm/tcm.h                             | 17 -------
 arch/arm/probes/kprobes/checkers-common.c     |  2 +-
 arch/arm/probes/kprobes/core.c                |  2 +-
 arch/arm/probes/kprobes/opt-arm.c             |  2 -
 arch/arm/probes/kprobes/test-core.c           |  2 +-
 arch/arm/probes/kprobes/test-core.h           |  4 ++
 arch/arm/vdso/vgettimeofday.c                 |  2 +
 arch/arm/vfp/vfp.h                            |  3 ++
 arch/arm/vfp/vfpmodule.c                      |  1 +
 39 files changed, 175 insertions(+), 43 deletions(-)
 create mode 100644 arch/arm/include/asm/syscalls.h
 create mode 100644 arch/arm/kernel/head.h
 delete mode 100644 arch/arm/mm/tcm.h

To: Russell King <linux@armlinux.org.uk>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Kees Cook <keescook@chromium.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-trace-kernel@vger.kernel.org
Cc: linux-pm@vger.kernel.org
  

Comments

Kees Cook May 16, 2023, 7:56 p.m. UTC | #1
On Tue, May 16, 2023 at 05:45:49PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> This addresses all arm specific warnings outside of the mach-*/ code,
> which I've submitted separately. The majority of the patches should be
> straightforward, either adding an #include statement to get the right
> header, or ensuring that an unused global function is left out of the
> build when the prototype is hidden.
> 
> The ones that are a bit awkward are those that just add a prototype to
> shut up the warning, but the prototypes are never used for calling the
> function because the only caller is in assembler code. I tried to come
> up with other ways to shut up the compiler, and ideally this would be
> triggered by the 'asmlinkage' keyword as Ard suggested in the past, but
> I could not come up with a way to do this.
> 
> All of the warnings have to be addressed in some form before the
> warning can be enabled by default.

Thanks! These are all long overdue. For the series:

Reviewed-by: Kees Cook <keescook@chromium.org>