Merge tag 'pwm/for-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry...
[linux-2.6-microblaze.git] / arch / arc / include / asm / atomic.h
index ee88e1d..52ee51e 100644 (file)
 #include <asm/atomic-spinlock.h>
 #endif
 
+#define arch_atomic_cmpxchg(v, o, n)                                   \
+({                                                                     \
+       arch_cmpxchg(&((v)->counter), (o), (n));                        \
+})
+
+#ifdef arch_cmpxchg_relaxed
+#define arch_atomic_cmpxchg_relaxed(v, o, n)                           \
+({                                                                     \
+       arch_cmpxchg_relaxed(&((v)->counter), (o), (n));                \
+})
+#endif
+
+#define arch_atomic_xchg(v, n)                                         \
+({                                                                     \
+       arch_xchg(&((v)->counter), (n));                                \
+})
+
+#ifdef arch_xchg_relaxed
+#define arch_atomic_xchg_relaxed(v, n)                                 \
+({                                                                     \
+       arch_xchg_relaxed(&((v)->counter), (n));                        \
+})
+#endif
+
+/*
+ * 64-bit atomics
+ */
 #ifdef CONFIG_GENERIC_ATOMIC64
 #include <asm-generic/atomic64.h>
 #else