From ab95e97fd52cb9da94818315eab48fc4fa016a6e Mon Sep 17 00:00:00 2001 From: Pavel Emelyanov Date: Sun, 11 Aug 2013 13:23:52 +0400 Subject: [PATCH] atomic: Add atomic_add for x86 Signed-off-by: Pavel Emelyanov --- arch/x86/include/asm/atomic.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/x86/include/asm/atomic.h b/arch/x86/include/asm/atomic.h index 273d595f4..6850a4871 100644 --- a/arch/x86/include/asm/atomic.h +++ b/arch/x86/include/asm/atomic.h @@ -26,9 +26,9 @@ typedef struct { ret__; \ }) -#define atomic_inc(mem) \ +#define atomic_add(mem, val) \ ({ \ - u32 ret__ = 1; \ + u32 ret__ = (val); \ asm volatile ("lock xadd %0, %1\n" \ : "+r" (ret__), "+m" ((mem)->counter) \ : \ @@ -36,6 +36,8 @@ typedef struct { ret__; \ }) +#define atomic_inc(mem) atomic_add(mem, 1) + #define atomic_dec(mem) \ ({ \ u32 ret__ = -1; \