summaryrefslogtreecommitdiff
path: root/arch/mips/include
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2013-05-21 15:33:32 (GMT)
committerRalf Baechle <ralf@linux-mips.org>2013-05-21 23:34:28 (GMT)
commit087d990b371c59edbfc119600e2d2eda18366292 (patch)
tree43869914c4a0680a7b560576f7169c80354138f3 /arch/mips/include
parentf94d9a8ef9aebab5317d11fb1633ba14ad240983 (diff)
downloadlinux-fsl-qoriq-087d990b371c59edbfc119600e2d2eda18366292.tar.xz
MIPS: Idle: Break r4k_wait into two functions and fix it.
local_irq_enable() may expand into very different code, so it rather should stay in C. Also this keeps the assembler code size constant which keeps the rollback code simple. So it's best to split r4k_wait into two parts, one C and one assembler. Finally add the local_irq_enable() to r4k_wait to ensure the WAIT instruction in __r4k_wait() will work properly. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/include')
-rw-r--r--arch/mips/include/asm/idle.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/mips/include/asm/idle.h b/arch/mips/include/asm/idle.h
index be6f807..d192158 100644
--- a/arch/mips/include/asm/idle.h
+++ b/arch/mips/include/asm/idle.h
@@ -4,7 +4,8 @@
#include <linux/linkage.h>
extern void (*cpu_wait)(void);
-extern asmlinkage void r4k_wait(void);
+extern void r4k_wait(void);
+extern asmlinkage void __r4k_wait(void);
extern void r4k_wait_irqoff(void);
extern void __pastwait(void);