aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Martin <dave.martin@linaro.org>2011-02-08 16:09:00 +0000
committerDave Martin <dave.martin@linaro.org>2011-02-23 12:24:51 +0000
commit48a8b51c20b28a7272308e8d8cde02253ca115e4 (patch)
treea11d1ecc4008cf36b7d84fbcd0f056b79d0ba25e
parent239a14a340ad4a81cfff4075625382d7f78f5258 (diff)
downloadlinux-linaro-48a8b51c20b28a7272308e8d8cde02253ca115e4.tar.gz
ARM: omap4: Provide do_wfi() for Thumb-2
For CONFIG_THUMB2_KERNEL, the existing definition of do_wfi() will insert invalid code into the instruction stream. Any assembler which can assemble Thumb-2 is guaranteed to accept the "wfi" mnemonic, so for the Thumb-2 case, just use the mnemonic. The ARM case is left as-is. Signed-off-by: Dave Martin <dave.martin@linaro.org>
-rw-r--r--arch/arm/mach-omap2/include/mach/omap4-common.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/include/mach/omap4-common.h b/arch/arm/mach-omap2/include/mach/omap4-common.h
index 5b0270b2893..de441c05a6a 100644
--- a/arch/arm/mach-omap2/include/mach/omap4-common.h
+++ b/arch/arm/mach-omap2/include/mach/omap4-common.h
@@ -17,8 +17,12 @@
* wfi used in low power code. Directly opcode is used instead
* of instruction to avoid mulit-omap build break
*/
+#ifdef CONFIG_THUMB2_KERNEL
+#define do_wfi() __asm__ __volatile__ ("wfi" : : : "memory")
+#else
#define do_wfi() \
__asm__ __volatile__ (".word 0xe320f003" : : : "memory")
+#endif
#ifdef CONFIG_CACHE_L2X0
extern void __iomem *l2cache_base;