diff options
author | Chen Gang <gang.chen@asianux.com> | 2013-04-22 07:08:41 +0200 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2013-04-23 12:47:26 +0200 |
commit | a84b086b874e0c03ca456c1748df7031a8cdf957 (patch) | |
tree | 28adcec35f32608bd4857c9382eda9351b80132e /arch | |
parent | arm64: Define readq and writeq for driver module using (diff) | |
download | linux-a84b086b874e0c03ca456c1748df7031a8cdf957.tar.xz 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>
Diffstat (limited to 'arch')
-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 */ |