[PATCH] riscv: kexec: Fix W=1 build warnings

Palmer Dabbelt palmer at dabbelt.com
Sat May 22 22:07:33 PDT 2021


On Sat, 08 May 2021 09:44:43 PDT (-0700), jszhang3 at mail.ustc.edu.cn wrote:
> From: Jisheng Zhang <jszhang at kernel.org>
>
> Fixes the following W=1 build warning(s):
>
> In file included from include/linux/kexec.h:28,
>                  from arch/riscv/kernel/machine_kexec.c:7:
> arch/riscv/include/asm/kexec.h:45:1: warning: ‘extern’ is not at beginning of declaration [-Wold-style-declaration]
>    45 | const extern unsigned char riscv_kexec_relocate[];
>       | ^~~~~
> arch/riscv/include/asm/kexec.h:46:1: warning: ‘extern’ is not at beginning of declaration [-Wold-style-declaration]
>    46 | const extern unsigned int riscv_kexec_relocate_size;
>       | ^~~~~
> arch/riscv/kernel/machine_kexec.c:125:6: warning: no previous prototype for ‘machine_shutdown’ [-Wmissing-prototypes]
>   125 | void machine_shutdown(void)
>       |      ^~~~~~~~~~~~~~~~
> arch/riscv/kernel/machine_kexec.c:147:1: warning: no previous prototype for ‘machine_crash_shutdown’ [-Wmissing-prototypes]
>   147 | machine_crash_shutdown(struct pt_regs *regs)
>       | ^~~~~~~~~~~~~~~~~~~~~~
> arch/riscv/kernel/machine_kexec.c:23: warning: Function parameter or member 'image' not described in 'kexec_image_info'
> arch/riscv/kernel/machine_kexec.c:53: warning: Function parameter or member 'image' not described in 'machine_kexec_prepare'
> arch/riscv/kernel/machine_kexec.c:114: warning: Function parameter or member 'image' not described in 'machine_kexec_cleanup'
> arch/riscv/kernel/machine_kexec.c:148: warning: Function parameter or member 'regs' not described in 'machine_crash_shutdown'
> arch/riscv/kernel/machine_kexec.c:167: warning: Function parameter or member 'image' not described in 'machine_kexec'
>
> Signed-off-by: Jisheng Zhang <jszhang at kernel.org>
> ---
>  arch/riscv/include/asm/kexec.h    |  4 ++--
>  arch/riscv/kernel/machine_kexec.c | 11 ++++++-----
>  2 files changed, 8 insertions(+), 7 deletions(-)
>
> diff --git a/arch/riscv/include/asm/kexec.h b/arch/riscv/include/asm/kexec.h
> index 1e954101906a..e4e291d40759 100644
> --- a/arch/riscv/include/asm/kexec.h
> +++ b/arch/riscv/include/asm/kexec.h
> @@ -42,8 +42,8 @@ struct kimage_arch {
>  	unsigned long fdt_addr;
>  };
>  
> -const extern unsigned char riscv_kexec_relocate[];
> -const extern unsigned int riscv_kexec_relocate_size;
> +extern const unsigned char riscv_kexec_relocate[];
> +extern const unsigned int riscv_kexec_relocate_size;
>  
>  typedef void (*riscv_kexec_method)(unsigned long first_ind_entry,
>  				   unsigned long jump_addr,
> diff --git a/arch/riscv/kernel/machine_kexec.c b/arch/riscv/kernel/machine_kexec.c
> index cc048143fba5..9e99e1db156b 100644
> --- a/arch/riscv/kernel/machine_kexec.c
> +++ b/arch/riscv/kernel/machine_kexec.c
> @@ -14,8 +14,9 @@
>  #include <asm/set_memory.h>	/* For set_memory_x() */
>  #include <linux/compiler.h>	/* For unreachable() */
>  #include <linux/cpu.h>		/* For cpu_down() */
> +#include <linux/reboot.h>
>  
> -/**
> +/*
>   * kexec_image_info - Print received image details
>   */
>  static void
> @@ -39,7 +40,7 @@ kexec_image_info(const struct kimage *image)
>  	}
>  }
>  
> -/**
> +/*
>   * machine_kexec_prepare - Initialize kexec
>   *
>   * This function is called from do_kexec_load, when the user has
> @@ -100,7 +101,7 @@ machine_kexec_prepare(struct kimage *image)
>  }
>  
>  
> -/**
> +/*
>   * machine_kexec_cleanup - Cleanup any leftovers from
>   *			   machine_kexec_prepare
>   *
> @@ -135,7 +136,7 @@ void machine_shutdown(void)
>  #endif
>  }
>  
> -/**
> +/*
>   * machine_crash_shutdown - Prepare to kexec after a kernel crash
>   *
>   * This function is called by crash_kexec just before machine_kexec
> @@ -151,7 +152,7 @@ machine_crash_shutdown(struct pt_regs *regs)
>  	pr_info("Starting crashdump kernel...\n");
>  }
>  
> -/**
> +/*
>   * machine_kexec - Jump to the loaded kimage
>   *
>   * This function is called by kernel_kexec which is called by the
> -- 
> 2.31.0

This is on fixes.  I got a corrupt patch error from checkpatch, but it 
looks OK to me and git appears to have merged it fine.  LMK if I missed 
something, though.

Thanks!



More information about the linux-riscv mailing list