aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2013-10-09 15:54:28 +0100
committerCatalin Marinas <catalin.marinas@arm.com>2013-10-24 15:46:35 +0100
commitcf10b79a7d88edc689479af989b3a88e9adf07ff (patch)
treefffcc72aa8e542ee331622c6f914ec5c6db11e45
parentarm64: lockref: add support for lockless lockrefs using cmpxchg (diff)
downloadlinux-dev-cf10b79a7d88edc689479af989b3a88e9adf07ff.tar.xz
linux-dev-cf10b79a7d88edc689479af989b3a88e9adf07ff.zip
arm64: cmpxchg: implement cmpxchg64_relaxed
This patch introduces cmpxchg64_relaxed for arm64 using the existing cmpxchg_local macro, which performs a cmpxchg operation (up to 64 bits) without barrier semantics. Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
-rw-r--r--arch/arm64/include/asm/cmpxchg.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/cmpxchg.h b/arch/arm64/include/asm/cmpxchg.h
index 8a8ce0e73a38..3914c0dcd09c 100644
--- a/arch/arm64/include/asm/cmpxchg.h
+++ b/arch/arm64/include/asm/cmpxchg.h
@@ -173,4 +173,6 @@ static inline unsigned long __cmpxchg_mb(volatile void *ptr, unsigned long old,
#define cmpxchg64(ptr,o,n) cmpxchg((ptr),(o),(n))
#define cmpxchg64_local(ptr,o,n) cmpxchg_local((ptr),(o),(n))
+#define cmpxchg64_relaxed(ptr,o,n) cmpxchg_local((ptr),(o),(n))
+
#endif /* __ASM_CMPXCHG_H */