From cee8e1413b6825bc88e8ddbffdeda7b69b828bc4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fran=C3=A7ois=20Tigeot?= Date: Sat, 31 Oct 2015 10:02:16 +0100 Subject: [PATCH] drm: Add atomic_cmpxchg() --- sys/dev/drm/include/linux/atomic.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/dev/drm/include/linux/atomic.h b/sys/dev/drm/include/linux/atomic.h index ca296cdb8b..f04b38ad2a 100644 --- a/sys/dev/drm/include/linux/atomic.h +++ b/sys/dev/drm/include/linux/atomic.h @@ -119,6 +119,11 @@ atomic_dec(atomic_t *v) return atomic_fetchadd_int(&v->counter, -1) - 1; } +static inline int atomic_cmpxchg(atomic_t *v, int old, int new) +{ + return atomic_cmpxchg_int(&v->counter, old, new); +} + static inline int atomic_add_unless(atomic_t *v, int add, int unless) { int c, old; @@ -126,7 +131,6 @@ static inline int atomic_add_unless(atomic_t *v, int add, int unless) for (;;) { if (unlikely(c == unless)) break; - // old = atomic_cmpxchg((v), c, c + (a)); /*Linux*/ old = atomic_cmpxchg_int(&v->counter, c, c + add); if (likely(old == c)) break; -- 2.41.0