Message ID | 20200417121222.156422-3-wangkefeng.wang@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/3] riscv: sbi: Correct sbi_shutdown() and sbi_clear_ipi() export | expand |
On Fri, Apr 17, 2020 at 5:40 PM Kefeng Wang <wangkefeng.wang@huawei.com> wrote: > > There is no shutdown call in SBI v0.2, only set pm_power_off > when RISCV_SBI_V01 enabled to fix following build error, > > riscv64-linux-ld: arch/riscv/kernel/sbi.o: in function `sbi_power_off': > sbi.c:(.text+0xe): undefined reference to `sbi_shutdown > > Fixes: efca13989250 ("RISC-V: Introduce a new config for SBI v0.1") > Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com> > --- > arch/riscv/kernel/sbi.c | 13 ++++++++----- > 1 file changed, 8 insertions(+), 5 deletions(-) > > diff --git a/arch/riscv/kernel/sbi.c b/arch/riscv/kernel/sbi.c > index 62b10a16c8d7..f383ef5672b2 100644 > --- a/arch/riscv/kernel/sbi.c > +++ b/arch/riscv/kernel/sbi.c > @@ -167,6 +167,11 @@ static int __sbi_rfence_v01(int fid, const unsigned long *hart_mask, > > return result; > } > + > +static void sbi_set_power_off(void) > +{ > + pm_power_off = sbi_shutdown; > +} > #else > static void __sbi_set_timer_v01(uint64_t stime_value) > { > @@ -191,6 +196,8 @@ static int __sbi_rfence_v01(int fid, const unsigned long *hart_mask, > > return 0; > } > + > +static void sbi_set_power_off(void) {} > #endif /* CONFIG_RISCV_SBI_V01 */ > > static void __sbi_set_timer_v02(uint64_t stime_value) > @@ -540,16 +547,12 @@ static inline long sbi_get_firmware_version(void) > return __sbi_base_ecall(SBI_EXT_BASE_GET_IMP_VERSION); > } > > -static void sbi_power_off(void) > -{ > - sbi_shutdown(); > -} > > int __init sbi_init(void) > { > int ret; > > - pm_power_off = sbi_power_off; > + sbi_set_power_off(); > ret = sbi_get_spec_version(); > if (ret > 0) > sbi_spec_version = ret; > -- > 2.20.1 > Looks good to me. Reviewed-by: Anup Patel <anup@brainfault.org> Regards, Anup
diff --git a/arch/riscv/kernel/sbi.c b/arch/riscv/kernel/sbi.c index 62b10a16c8d7..f383ef5672b2 100644 --- a/arch/riscv/kernel/sbi.c +++ b/arch/riscv/kernel/sbi.c @@ -167,6 +167,11 @@ static int __sbi_rfence_v01(int fid, const unsigned long *hart_mask, return result; } + +static void sbi_set_power_off(void) +{ + pm_power_off = sbi_shutdown; +} #else static void __sbi_set_timer_v01(uint64_t stime_value) { @@ -191,6 +196,8 @@ static int __sbi_rfence_v01(int fid, const unsigned long *hart_mask, return 0; } + +static void sbi_set_power_off(void) {} #endif /* CONFIG_RISCV_SBI_V01 */ static void __sbi_set_timer_v02(uint64_t stime_value) @@ -540,16 +547,12 @@ static inline long sbi_get_firmware_version(void) return __sbi_base_ecall(SBI_EXT_BASE_GET_IMP_VERSION); } -static void sbi_power_off(void) -{ - sbi_shutdown(); -} int __init sbi_init(void) { int ret; - pm_power_off = sbi_power_off; + sbi_set_power_off(); ret = sbi_get_spec_version(); if (ret > 0) sbi_spec_version = ret;
There is no shutdown call in SBI v0.2, only set pm_power_off when RISCV_SBI_V01 enabled to fix following build error, riscv64-linux-ld: arch/riscv/kernel/sbi.o: in function `sbi_power_off': sbi.c:(.text+0xe): undefined reference to `sbi_shutdown Fixes: efca13989250 ("RISC-V: Introduce a new config for SBI v0.1") Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com> --- arch/riscv/kernel/sbi.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-)