diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2009-09-17 02:25:05 +0200 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2009-09-17 20:07:49 +0200 |
commit | 43e6ae6d9f08304682294c14c6b7f2b2441668e7 (patch) | |
tree | 0232f2aab68e6c2d7806878026b87bf5e6ea5df4 | |
parent | f1e39a4a616cd9981a9decfd5332fd07a01abb8b (diff) | |
download | op-kernel-dev-43e6ae6d9f08304682294c14c6b7f2b2441668e7.zip op-kernel-dev-43e6ae6d9f08304682294c14c6b7f2b2441668e7.tar.gz |
MIPS: Rewrite clearing of ll_bit on context switch in C
This also means there is now only one implementation not 3 left.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r-- | arch/mips/include/asm/system.h | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/arch/mips/include/asm/system.h b/arch/mips/include/asm/system.h index 23f68b4..cc7262f 100644 --- a/arch/mips/include/asm/system.h +++ b/arch/mips/include/asm/system.h @@ -66,16 +66,11 @@ do { \ #define __mips_mt_fpaff_switch_to(prev) do { (void) (prev); } while (0) #endif -#ifdef CONFIG_CPU_HAS_LLSC -#define __clear_software_ll_bit() do { } while (0) -#else -extern unsigned long ll_bit; - #define __clear_software_ll_bit() \ do { \ - ll_bit = 0; \ + if (!__builtin_constant_p(cpu_has_llsc) || !cpu_has_llsc) \ + ll_bit = 0; \ } while (0) -#endif #define switch_to(prev, next, last) \ do { \ |