diff options
Diffstat (limited to 'include/linux/atomic.h')
-rw-r--r-- | include/linux/atomic.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/atomic.h b/include/linux/atomic.h index ae87a25a..62c70879 100644 --- a/include/linux/atomic.h +++ b/include/linux/atomic.h @@ -275,6 +275,13 @@ static inline bool a_type##_try_cmpxchg_acquire(a_type##_t *v, i_type *old, i_ty i_type prev = *old; \ *old = cmpxchg_acquire(&v->counter, *old, new); \ return prev == *old; \ +} \ + \ +static inline bool a_type##_try_cmpxchg_release(a_type##_t *v, i_type *old, i_type new)\ +{ \ + i_type prev = *old; \ + *old = cmpxchg_release(&v->counter, *old, new); \ + return prev == *old; \ } DEF_ATOMIC_OPS(atomic, int) |