ARM: v6k: select TLS register code according to V6 variants
authorRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 17 Jan 2011 16:38:56 +0000 (16:38 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 2 Feb 2011 21:23:29 +0000 (21:23 +0000)
If CONFIG_CPU_V6 is enabled, we may or may not have the TLS register.
Use the conditional code which copes with this variability.  Otherwise,
if CONFIG_CPU_32v6K is set, we know we have the TLS register on all
supported CPUs, so use it unconditionally.

Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Acked-by: Tony Lindgren <tony@atomide.com>
Tested-by: Sourav Poddar <sourav.poddar@ti.com>
Tested-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/include/asm/tls.h

index e71d6ff..60843eb 100644 (file)
 #define tls_emu                1
 #define has_tls_reg            1
 #define set_tls                set_tls_none
-#elif __LINUX_ARM_ARCH__ >= 7 ||                                       \
-       (__LINUX_ARM_ARCH__ == 6 && defined(CONFIG_CPU_32v6K))
-#define tls_emu                0
-#define has_tls_reg            1
-#define set_tls                set_tls_v6k
-#elif __LINUX_ARM_ARCH__ == 6
+#elif defined(CONFIG_CPU_V6)
 #define tls_emu                0
 #define has_tls_reg            (elf_hwcap & HWCAP_TLS)
 #define set_tls                set_tls_v6
+#elif defined(CONFIG_CPU_32v6K)
+#define tls_emu                0
+#define has_tls_reg            1
+#define set_tls                set_tls_v6k
 #else
 #define tls_emu                0
 #define has_tls_reg            0