]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-sparc/atomic.h
Merge branch 'master' into upstream
[linux-2.6-omap-h63xx.git] / include / asm-sparc / atomic.h
index 62bec7ad271c496e81a8f2d95d4f4377cb16c952..731fa56e0c374c8413c41c8460f16f4844d7046b 100644 (file)
@@ -10,7 +10,6 @@
 #ifndef __ARCH_SPARC_ATOMIC__
 #define __ARCH_SPARC_ATOMIC__
 
-#include <linux/config.h>
 
 typedef struct { volatile int counter; } atomic_t;
 
@@ -20,6 +19,7 @@ typedef struct { volatile int counter; } atomic_t;
 
 extern int __atomic_add_return(int, atomic_t *);
 extern int atomic_cmpxchg(atomic_t *, int, int);
+#define atomic_xchg(v, new) (xchg(&((v)->counter), new))
 extern int atomic_add_unless(atomic_t *, int, int);
 extern void atomic_set(atomic_t *, int);
 
@@ -159,4 +159,5 @@ static inline int __atomic24_sub(int i, atomic24_t *v)
 
 #endif /* !(__KERNEL__) */
 
+#include <asm-generic/atomic.h>
 #endif /* !(__ARCH_SPARC_ATOMIC__) */