diff options
author | Chen Gang <gang.chen@asianux.com> | 2013-04-22 06:08:41 +0100 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2013-04-23 11:47:26 +0100 |
commit | a84b086b874e0c03ca456c1748df7031a8cdf957 (patch) | |
tree | 28adcec35f32608bd4857c9382eda9351b80132e | |
parent | 12f883989cf91afa8509c547feebbc3acbc04497 (diff) | |
download | blackbird-op-linux-a84b086b874e0c03ca456c1748df7031a8cdf957.tar.gz blackbird-op-linux-a84b086b874e0c03ca456c1748df7031a8cdf957.zip |
arm64: Define cmpxchg64 and cmpxchg64_local for outside use
Drivers use cmpxchg64, cmpxchg64_local to perform 64-bit operation, so
they can cross 32-bit and 64-bit platforms (it is a standard way).
Signed-off-by: Chen Gang <gang.chen@asianux.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
-rw-r--r-- | arch/arm64/include/asm/cmpxchg.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/cmpxchg.h b/arch/arm64/include/asm/cmpxchg.h index 968b5cbfc260..8a8ce0e73a38 100644 --- a/arch/arm64/include/asm/cmpxchg.h +++ b/arch/arm64/include/asm/cmpxchg.h @@ -170,4 +170,7 @@ static inline unsigned long __cmpxchg_mb(volatile void *ptr, unsigned long old, (unsigned long)(n), \ sizeof(*(ptr)))) +#define cmpxchg64(ptr,o,n) cmpxchg((ptr),(o),(n)) +#define cmpxchg64_local(ptr,o,n) cmpxchg_local((ptr),(o),(n)) + #endif /* __ASM_CMPXCHG_H */ |