diff options
author | Christoph Hellwig <hch@lst.de> | 2019-04-15 11:14:42 +0200 |
---|---|---|
committer | Palmer Dabbelt <palmer@sifive.com> | 2019-04-25 23:51:12 +0200 |
commit | bf0102a0fdd9fa2b41c2646c4f96e91b678de89e (patch) | |
tree | ac4e34e4857396f804d7b9cca14ca8ce206e05d0 /arch/riscv/kernel | |
parent | riscv: print the unexpected interrupt cause (diff) | |
download | linux-bf0102a0fdd9fa2b41c2646c4f96e91b678de89e.tar.xz linux-bf0102a0fdd9fa2b41c2646c4f96e91b678de89e.zip |
riscv: call pm_power_off from machine_halt / machine_power_off
This way any override of pm_power_off also affects the halt path and
we don't need additional infrastructure for it.
Also remove the pm_power_off export - at least for now we don't have
any modular drivers overriding it.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
Diffstat (limited to 'arch/riscv/kernel')
-rw-r--r-- | arch/riscv/kernel/reset.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/arch/riscv/kernel/reset.c b/arch/riscv/kernel/reset.c index 2a53d26ffdd6..ed637aee514b 100644 --- a/arch/riscv/kernel/reset.c +++ b/arch/riscv/kernel/reset.c @@ -12,11 +12,15 @@ */ #include <linux/reboot.h> -#include <linux/export.h> #include <asm/sbi.h> -void (*pm_power_off)(void) = machine_power_off; -EXPORT_SYMBOL(pm_power_off); +static void default_power_off(void) +{ + sbi_shutdown(); + while (1); +} + +void (*pm_power_off)(void) = default_power_off; void machine_restart(char *cmd) { @@ -26,11 +30,10 @@ void machine_restart(char *cmd) void machine_halt(void) { - machine_power_off(); + pm_power_off(); } void machine_power_off(void) { - sbi_shutdown(); - while (1); + pm_power_off(); } |