diff options
Diffstat (limited to 'arch/mips/loongson64/common/reset.c')
-rw-r--r-- | arch/mips/loongson64/common/reset.c | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/arch/mips/loongson64/common/reset.c b/arch/mips/loongson64/common/reset.c index ce39e918e4d5..88b3bd5fed25 100644 --- a/arch/mips/loongson64/common/reset.c +++ b/arch/mips/loongson64/common/reset.c @@ -17,31 +17,12 @@ static inline void loongson_reboot(void) { -#ifndef CONFIG_CPU_JUMP_WORKAROUNDS ((void (*)(void))ioremap_nocache(LOONGSON_BOOT_BASE, 4)) (); -#else - void (*func)(void); - - func = (void *)ioremap_nocache(LOONGSON_BOOT_BASE, 4); - - __asm__ __volatile__( - " .set noat \n" - " jr %[func] \n" - " .set at \n" - : /* No outputs */ - : [func] "r" (func)); -#endif } static void loongson_restart(char *command) { -#ifndef CONFIG_LEFI_FIRMWARE_INTERFACE - /* do preparation for reboot */ - mach_prepare_reboot(); - /* reboot via jumping to boot base address */ - loongson_reboot(); -#else void (*fw_restart)(void) = (void *)loongson_sysconf.restart_addr; fw_restart(); @@ -49,20 +30,10 @@ static void loongson_restart(char *command) if (cpu_wait) cpu_wait(); } -#endif } static void loongson_poweroff(void) { -#ifndef CONFIG_LEFI_FIRMWARE_INTERFACE - mach_prepare_shutdown(); - - /* - * It needs a wait loop here, but mips/kernel/reset.c already calls - * a generic delay loop, machine_hang(), so simply return. - */ - return; -#else void (*fw_poweroff)(void) = (void *)loongson_sysconf.poweroff_addr; fw_poweroff(); @@ -70,7 +41,6 @@ static void loongson_poweroff(void) if (cpu_wait) cpu_wait(); } -#endif } static void loongson_halt(void) |