diff options
author | Will Deacon <will.deacon@arm.com> | 2013-10-09 10:54:28 -0400 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2013-10-24 10:46:35 -0400 |
commit | cf10b79a7d88edc689479af989b3a88e9adf07ff (patch) | |
tree | fffcc72aa8e542ee331622c6f914ec5c6db11e45 /arch/arm64 | |
parent | 5686b06cea34e31ec0a549d9b5ac00776e8e8d6d (diff) |
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>
Diffstat (limited to 'arch/arm64')
-rw-r--r-- | arch/arm64/include/asm/cmpxchg.h | 2 |
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, | |||
173 | #define cmpxchg64(ptr,o,n) cmpxchg((ptr),(o),(n)) | 173 | #define cmpxchg64(ptr,o,n) cmpxchg((ptr),(o),(n)) |
174 | #define cmpxchg64_local(ptr,o,n) cmpxchg_local((ptr),(o),(n)) | 174 | #define cmpxchg64_local(ptr,o,n) cmpxchg_local((ptr),(o),(n)) |
175 | 175 | ||
176 | #define cmpxchg64_relaxed(ptr,o,n) cmpxchg_local((ptr),(o),(n)) | ||
177 | |||
176 | #endif /* __ASM_CMPXCHG_H */ | 178 | #endif /* __ASM_CMPXCHG_H */ |