[PATCH] riscv: Cleanup sbi function stubs when RISCV_SBI disabled

Kefeng Wang wangkefeng.wang at huawei.com
Mon Dec 14 06:53:29 EST 2020


Hi all,  any comments...

On 2020/11/26 10:40, Kefeng Wang wrote:
> Fix sbi_init() function declaration mismatch between RISCV_SBI
> enable and disable, as it always returned 0, make it void function.
>
> Drop some stubs which won't be used if RISCV_SBI disabled.
>
> Signed-off-by: Kefeng Wang <wangkefeng.wang at huawei.com>
> ---
>   arch/riscv/include/asm/sbi.h | 10 +++-------
>   arch/riscv/kernel/sbi.c      |  4 +---
>   arch/riscv/kernel/setup.c    |  2 --
>   3 files changed, 4 insertions(+), 12 deletions(-)
>
> diff --git a/arch/riscv/include/asm/sbi.h b/arch/riscv/include/asm/sbi.h
> index 653edb25d495..99dc77ba8e43 100644
> --- a/arch/riscv/include/asm/sbi.h
> +++ b/arch/riscv/include/asm/sbi.h
> @@ -89,7 +89,7 @@ struct sbiret {
>   	long value;
>   };
>   
> -int sbi_init(void);
> +void sbi_init(void);
>   struct sbiret sbi_ecall(int ext, int fid, unsigned long arg0,
>   			unsigned long arg1, unsigned long arg2,
>   			unsigned long arg3, unsigned long arg4,
> @@ -147,11 +147,7 @@ static inline unsigned long sbi_minor_version(void)
>   
>   int sbi_err_map_linux_errno(int err);
>   #else /* CONFIG_RISCV_SBI */
> -/* stubs for code that is only reachable under IS_ENABLED(CONFIG_RISCV_SBI): */
> -void sbi_set_timer(uint64_t stime_value);
> -void sbi_clear_ipi(void);
> -void sbi_send_ipi(const unsigned long *hart_mask);
> -void sbi_remote_fence_i(const unsigned long *hart_mask);
> -void sbi_init(void);
> +static inline void sbi_remote_fence_i(const unsigned long *hart_mask) {}
> +static inline void sbi_init(void) {}
>   #endif /* CONFIG_RISCV_SBI */
>   #endif /* _ASM_RISCV_SBI_H */
> diff --git a/arch/riscv/kernel/sbi.c b/arch/riscv/kernel/sbi.c
> index 226ccce0f9e0..bae6ffdc6e7b 100644
> --- a/arch/riscv/kernel/sbi.c
> +++ b/arch/riscv/kernel/sbi.c
> @@ -560,7 +560,7 @@ static struct riscv_ipi_ops sbi_ipi_ops = {
>   	.ipi_inject = sbi_send_cpumask_ipi
>   };
>   
> -int __init sbi_init(void)
> +void __init sbi_init(void)
>   {
>   	int ret;
>   
> @@ -600,6 +600,4 @@ int __init sbi_init(void)
>   	}
>   
>   	riscv_set_ipi_ops(&sbi_ipi_ops);
> -
> -	return 0;
>   }
> diff --git a/arch/riscv/kernel/setup.c b/arch/riscv/kernel/setup.c
> index 901ac0c680dd..ef4f5c076d61 100644
> --- a/arch/riscv/kernel/setup.c
> +++ b/arch/riscv/kernel/setup.c
> @@ -104,9 +104,7 @@ void __init setup_arch(char **cmdline_p)
>   	kasan_init();
>   #endif
>   
> -#if IS_ENABLED(CONFIG_RISCV_SBI)
>   	sbi_init();
> -#endif
>   
>   #ifdef CONFIG_SMP
>   	setup_smp();



More information about the linux-riscv mailing list