arm64: Define cmpxchg64 and cmpxchg64_local for outside use
authorChen Gang <gang.chen@asianux.com>
Mon, 22 Apr 2013 05:08:41 +0000 (06:08 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 23 Apr 2013 10:47:26 +0000 (11:47 +0100)
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>
arch/arm64/include/asm/cmpxchg.h

index 968b5cbfc260590b8729088027072ce9db7cd0d9..8a8ce0e73a38234968e4cde566455284af5887a6 100644 (file)
@@ -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 */