On Wed, Apr 03, 2024 at 02:26:33PM -0700, Nathan Chancellor wrote: > When building malta_defconfig with CONFIG_RELOCATABLE=y, there are two > warnings due to missing prototypes for functions only used when that > configuration is enabled: > > arch/mips/kernel/relocate.c:42:12: warning: no previous prototype for 'plat_post_relocation' [-Wmissing-prototypes] > 42 | int __weak plat_post_relocation(long offset) > | ^~~~~~~~~~~~~~~~~~~~ > arch/mips/kernel/relocate.c:324:14: warning: no previous prototype for 'relocate_kernel' [-Wmissing-prototypes] > 324 | void *__init relocate_kernel(void) > | ^~~~~~~~~~~~~~~ > > While relocate_kernel() is only called from assembly, it makes sense to > keep the prototypes together in C to fix the warnings. Add them to > silence the warnings. > > Signed-off-by: Nathan Chancellor <nathan@xxxxxxxxxx> > --- > arch/mips/include/asm/setup.h | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/arch/mips/include/asm/setup.h b/arch/mips/include/asm/setup.h > index 4dce41138bad..d8077136372c 100644 > --- a/arch/mips/include/asm/setup.h > +++ b/arch/mips/include/asm/setup.h > @@ -2,6 +2,7 @@ > #ifndef _MIPS_SETUP_H > #define _MIPS_SETUP_H > > +#include <linux/init.h> > #include <linux/types.h> > #include <uapi/asm/setup.h> > > @@ -29,4 +30,9 @@ extern void per_cpu_trap_init(bool); > extern void cpu_cache_init(void); > extern void tlb_init(void); > > +#ifdef CONFIG_RELOCATABLE > +extern void * __init relocate_kernel(void); > +extern int plat_post_relocation(long); > +#endif > + > #endif /* __SETUP_H */ > > --- > base-commit: 39cd87c4eb2b893354f3b850f916353f2658ae6f > change-id: 20240403-mips-kaslr-missing-prototypes-b15cbf88513f > > Best regards, > -- > Nathan Chancellor <nathan@xxxxxxxxxx> applied to mips-next. Thomas. -- Crap can work. Given enough thrust pigs will fly, but it's not necessarily a good idea. [ RFC1925, 2.3 ]