diff options
Diffstat (limited to 'arch/tile/include/asm/bitops_32.h')
| -rw-r--r-- | arch/tile/include/asm/bitops_32.h | 12 | 
1 files changed, 3 insertions, 9 deletions
diff --git a/arch/tile/include/asm/bitops_32.h b/arch/tile/include/asm/bitops_32.h index 7a93c001ac1..bbf7b666f21 100644 --- a/arch/tile/include/asm/bitops_32.h +++ b/arch/tile/include/asm/bitops_32.h @@ -16,8 +16,7 @@  #define _ASM_TILE_BITOPS_32_H  #include <linux/compiler.h> -#include <asm/atomic.h> -#include <asm/system.h> +#include <asm/barrier.h>  /* Tile-specific routines to support <asm/bitops.h>. */  unsigned long _atomic_or(volatile unsigned long *p, unsigned long mask); @@ -50,8 +49,8 @@ static inline void set_bit(unsigned nr, volatile unsigned long *addr)   * restricted to acting on a single-word quantity.   *   * clear_bit() may not contain a memory barrier, so if it is used for - * locking purposes, you should call smp_mb__before_clear_bit() and/or - * smp_mb__after_clear_bit() to ensure changes are visible on other cpus. + * locking purposes, you should call smp_mb__before_atomic() and/or + * smp_mb__after_atomic() to ensure changes are visible on other cpus.   */  static inline void clear_bit(unsigned nr, volatile unsigned long *addr)  { @@ -122,11 +121,6 @@ static inline int test_and_change_bit(unsigned nr,  	return (_atomic_xor(addr, mask) & mask) != 0;  } -/* See discussion at smp_mb__before_atomic_dec() in <asm/atomic.h>. */ -#define smp_mb__before_clear_bit()	smp_mb() -#define smp_mb__after_clear_bit()	do {} while (0) - -#include <asm-generic/bitops/non-atomic.h>  #include <asm-generic/bitops/ext2-atomic.h>  #endif /* _ASM_TILE_BITOPS_32_H */  | 
