tile: rework <asm/cmpxchg.h>
[cascardo/linux.git] / arch / tile / include / asm / bitops_64.h
index 60b87ee..ad34cd0 100644 (file)
@@ -16,7 +16,7 @@
 #define _ASM_TILE_BITOPS_64_H
 
 #include <linux/compiler.h>
-#include <linux/atomic.h>
+#include <asm/cmpxchg.h>
 
 /* See <asm/bitops.h> for API comments. */
 
@@ -44,8 +44,7 @@ static inline void change_bit(unsigned nr, volatile unsigned long *addr)
        oldval = *addr;
        do {
                guess = oldval;
-               oldval = atomic64_cmpxchg((atomic64_t *)addr,
-                                         guess, guess ^ mask);
+               oldval = cmpxchg(addr, guess, guess ^ mask);
        } while (guess != oldval);
 }
 
@@ -90,8 +89,7 @@ static inline int test_and_change_bit(unsigned nr,
        oldval = *addr;
        do {
                guess = oldval;
-               oldval = atomic64_cmpxchg((atomic64_t *)addr,
-                                         guess, guess ^ mask);
+               oldval = cmpxchg(addr, guess, guess ^ mask);
        } while (guess != oldval);
        return (oldval & mask) != 0;
 }