The patch titled Subject: mips: decompress: fix add missing prototypes has been added to the -mm mm-nonmm-unstable branch. Its filename is mips-decompress-fix-add-missing-prototypes.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/mips-decompress-fix-add-missing-prototypes.patch This patch will later appear in the mm-nonmm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: Arnd Bergmann <arnd@xxxxxxxx> Subject: mips: decompress: fix add missing prototypes Date: Mon, 4 Dec 2023 12:56:51 +0100 Patch series "mips: address -Wmissing-prototypes warnings". Address the -Wmissing-prototypes warnings that showed up in mips as the last major architecture after my patch to enable the option everywhere. This patch (of 20): The mips decompressor has some string functions defined locally that are not declared in the right place: arch/mips/boot/compressed/dbg.c:12:13: error: no previous prototype for 'putc' [-Werror=missing-prototypes] arch/mips/boot/compressed/dbg.c:16:6: error: no previous prototype for 'puts' [-Werror=missing-prototypes] arch/mips/boot/compressed/dbg.c:26:6: error: no previous prototype for 'puthex' [-Werror=missing-prototypes] arch/mips/boot/compressed/string.c:11:7: error: no previous prototype for 'memcpy' [-Werror=missing-prototypes] arch/mips/boot/compressed/string.c:22:7: error: no previous prototype for 'memset' [-Werror=missing-prototypes] arch/mips/boot/compressed/string.c:32:15: error: no previous prototype for 'memmove' [-Werror=missing-prototypes] arch/mips/boot/compressed/decompress.c:43:6: error: no previous prototype for 'error' [-Werror=missing-prototypes] arch/mips/boot/compressed/decompress.c:91:6: error: no previous prototype for 'decompress_kernel' [-Werror=missing-prototypes] Include the string.h header where needed and add a decompress.h header to have shared prototypes for the rest. Link: https://lkml.kernel.org/r/20231204115710.2247097-1-arnd@xxxxxxxxxx Link: https://lkml.kernel.org/r/20231204115710.2247097-2-arnd@xxxxxxxxxx Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxx> Cc: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- arch/mips/boot/compressed/dbg.c | 2 + arch/mips/boot/compressed/decompress.c | 16 +-------------- arch/mips/boot/compressed/decompress.h | 24 +++++++++++++++++++++++ arch/mips/boot/compressed/string.c | 1 4 files changed, 29 insertions(+), 14 deletions(-) --- a/arch/mips/boot/compressed/dbg.c~mips-decompress-fix-add-missing-prototypes +++ a/arch/mips/boot/compressed/dbg.c @@ -9,6 +9,8 @@ #include <linux/compiler.h> #include <linux/types.h> +#include "decompress.h" + void __weak putc(char c) { } --- a/arch/mips/boot/compressed/decompress.c~mips-decompress-fix-add-missing-prototypes +++ a/arch/mips/boot/compressed/decompress.c @@ -19,6 +19,8 @@ #include <asm/unaligned.h> #include <asm-generic/vmlinux.lds.h> +#include "decompress.h" + /* * These two variables specify the free mem region * that can be used for temporary malloc area @@ -26,20 +28,6 @@ unsigned long free_mem_ptr; unsigned long free_mem_end_ptr; -/* The linker tells us where the image is. */ -extern unsigned char __image_begin[], __image_end[]; - -/* debug interfaces */ -#ifdef CONFIG_DEBUG_ZBOOT -extern void puts(const char *s); -extern void puthex(unsigned long long val); -#else -#define puts(s) do {} while (0) -#define puthex(val) do {} while (0) -#endif - -extern char __appended_dtb[]; - void error(char *x) { puts("\n\n"); --- /dev/null +++ a/arch/mips/boot/compressed/decompress.h @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: GPL-2.0 +#ifndef _DECOMPRESSOR_H +#define _DECOMPRESSOR_H + +/* The linker tells us where the image is. */ +extern unsigned char __image_begin[], __image_end[]; + +/* debug interfaces */ +#ifdef CONFIG_DEBUG_ZBOOT +extern void putc(char c); +extern void puts(const char *s); +extern void puthex(unsigned long long val); +#else +#define putc(s) do {} while (0) +#define puts(s) do {} while (0) +#define puthex(val) do {} while (0) +#endif + +extern char __appended_dtb[]; + +void error(char *x); +void decompress_kernel(unsigned long boot_heap_start); + +#endif --- a/arch/mips/boot/compressed/string.c~mips-decompress-fix-add-missing-prototypes +++ a/arch/mips/boot/compressed/string.c @@ -7,6 +7,7 @@ #include <linux/compiler_attributes.h> #include <linux/types.h> +#include <asm/string.h> void *memcpy(void *dest, const void *src, size_t n) { _ Patches currently in -mm which might be from arnd@xxxxxxxx are kexec-fix-kexec_file-dependencies.patch kexec-fix-kexec_file-dependencies-fix.patch kexec-select-crypto-from-kexec_file-instead-of-depending-on-it.patch arch-turn-off-werror-for-architectures-with-known-warnings.patch mips-decompress-fix-add-missing-prototypes.patch mips-add-asm-syscallsh-header.patch mips-add-missing-declarations-for-trap-handlers.patch mips-rs870e-stop-exporting-local-functions.patch mips-signal-move-sigcontext-declarations-to-header.patch mips-mark-local-function-static-if-possible.patch mips-move-build_tlb_refill_handler-prototype.patch mips-move-jump_label_apply_nops-declaration-to-header.patch mips-unhide-uasm_in_compat_space_p-declaration.patch mips-fix-setup_zero_pages-prototype.patch mips-fix-tlb_init-prototype.patch mips-move-cache-declarations-into-header.patch mips-add-missing-declarations.patch mips-spram-fix-missing-prototype-warning-for-spram_config.patch mips-mt-include-asm-mips_mth.patch mips-remove-extraneous-asm-generic-iomaph-include.patch mips-suspend-include-linux-suspendh-as-needed.patch mips-hide-conditionally-unused-functions.patch mips-smp-fix-setup_profiling_timer-prototype.patch mips-kexec-include-linux-rebooth.patch ida-make-ida_dump-static.patch jffs2-mark-__jffs2_dbg_superblock_counts-static.patch sched-fair-move-unused-stub-functions-to-header.patch x86-sta2x11-include-header-for-sta2x11_get_instance-prototype.patch usb-fsl-mph-dr-of-mark-fsl_usb2_mpc5121_init-static.patch makefileextrawarn-turn-on-missing-prototypes-globally.patch