riscv: Cleanup sbi function stubs when RISCV_SBI disabled

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@huawei.com>
Reviewed-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
This commit is contained in:
Kefeng Wang 2020-11-26 10:40:38 +08:00 коммит произвёл Palmer Dabbelt
Родитель e71ba9452f
Коммит 641e8cd2cb
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 2E1319F35FBB1889
3 изменённых файлов: 5 добавлений и 12 удалений

Просмотреть файл

@ -89,7 +89,7 @@ struct sbiret {
long value; long value;
}; };
int sbi_init(void); void sbi_init(void);
struct sbiret sbi_ecall(int ext, int fid, unsigned long arg0, struct sbiret sbi_ecall(int ext, int fid, unsigned long arg0,
unsigned long arg1, unsigned long arg2, unsigned long arg1, unsigned long arg2,
unsigned long arg3, unsigned long arg4, 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); int sbi_err_map_linux_errno(int err);
#else /* CONFIG_RISCV_SBI */ #else /* CONFIG_RISCV_SBI */
/* stubs for code that is only reachable under IS_ENABLED(CONFIG_RISCV_SBI): */ static inline void sbi_remote_fence_i(const unsigned long *hart_mask) {}
void sbi_set_timer(uint64_t stime_value); static inline void sbi_init(void) {}
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);
#endif /* CONFIG_RISCV_SBI */ #endif /* CONFIG_RISCV_SBI */
#endif /* _ASM_RISCV_SBI_H */ #endif /* _ASM_RISCV_SBI_H */

Просмотреть файл

@ -560,7 +560,7 @@ static struct riscv_ipi_ops sbi_ipi_ops = {
.ipi_inject = sbi_send_cpumask_ipi .ipi_inject = sbi_send_cpumask_ipi
}; };
int __init sbi_init(void) void __init sbi_init(void)
{ {
int ret; int ret;
@ -600,6 +600,4 @@ int __init sbi_init(void)
} }
riscv_set_ipi_ops(&sbi_ipi_ops); riscv_set_ipi_ops(&sbi_ipi_ops);
return 0;
} }

Просмотреть файл

@ -251,8 +251,7 @@ void __init setup_arch(char **cmdline_p)
pr_err("No DTB found in kernel mappings\n"); pr_err("No DTB found in kernel mappings\n");
#endif #endif
if (IS_ENABLED(CONFIG_RISCV_SBI)) sbi_init();
sbi_init();
if (IS_ENABLED(CONFIG_STRICT_KERNEL_RWX)) if (IS_ENABLED(CONFIG_STRICT_KERNEL_RWX))
protect_kernel_text_data(); protect_kernel_text_data();