]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/arm64/include/asm/atomic.h
arm64: atomics: implement atomic{,64}_cmpxchg using cmpxchg
[karo-tx-linux.git] / arch / arm64 / include / asm / atomic.h
index 0b26da365f3be2bfa059a817fc3aec519d1e9f76..35a67783cfa088d4166de9ff7ed6f993b899c09b 100644 (file)
@@ -56,6 +56,7 @@
 #define atomic_read(v)                 READ_ONCE((v)->counter)
 #define atomic_set(v, i)               (((v)->counter) = (i))
 #define atomic_xchg(v, new)            xchg(&((v)->counter), (new))
+#define atomic_cmpxchg(v, old, new)    cmpxchg(&((v)->counter), (old), (new))
 
 #define atomic_inc(v)                  atomic_add(1, (v))
 #define atomic_dec(v)                  atomic_sub(1, (v))
@@ -75,6 +76,7 @@
 #define atomic64_read                  atomic_read
 #define atomic64_set                   atomic_set
 #define atomic64_xchg                  atomic_xchg
+#define atomic64_cmpxchg               atomic_cmpxchg
 
 #define atomic64_inc(v)                        atomic64_add(1, (v))
 #define atomic64_dec(v)                        atomic64_sub(1, (v))