diff options
Diffstat (limited to 'arch/sparc64/kernel')
-rw-r--r-- | arch/sparc64/kernel/entry.S | 7 | ||||
-rw-r--r-- | arch/sparc64/kernel/power.c | 4 |
2 files changed, 6 insertions, 5 deletions
diff --git a/arch/sparc64/kernel/entry.S b/arch/sparc64/kernel/entry.S index 11a848402fb..71000299188 100644 --- a/arch/sparc64/kernel/entry.S +++ b/arch/sparc64/kernel/entry.S @@ -1657,13 +1657,10 @@ ret_sys_call: /* Check if force_successful_syscall_return() * was invoked. */ - ldub [%curptr + TI_SYS_NOERROR], %l0 - brz,pt %l0, 1f - nop - ba,pt %xcc, 80f + ldub [%curptr + TI_SYS_NOERROR], %l2 + brnz,a,pn %l2, 80f stb %g0, [%curptr + TI_SYS_NOERROR] -1: cmp %o0, -ERESTART_RESTARTBLOCK bgeu,pn %xcc, 1f andcc %l0, (_TIF_SYSCALL_TRACE|_TIF_SECCOMP|_TIF_SYSCALL_AUDIT), %l6 diff --git a/arch/sparc64/kernel/power.c b/arch/sparc64/kernel/power.c index 9e8362ea310..30bcaf58e3a 100644 --- a/arch/sparc64/kernel/power.c +++ b/arch/sparc64/kernel/power.c @@ -14,6 +14,7 @@ #include <linux/signal.h> #include <linux/delay.h> #include <linux/interrupt.h> +#include <linux/pm.h> #include <asm/system.h> #include <asm/ebus.h> @@ -70,6 +71,9 @@ void machine_power_off(void) machine_halt(); } +void (*pm_power_off)(void) = machine_power_off; +EXPORT_SYMBOL(pm_power_off); + #ifdef CONFIG_PCI static int powerd(void *__unused) { |