diff options
Diffstat (limited to 'arch/powerpc/include/asm/bitops.h')
| -rw-r--r-- | arch/powerpc/include/asm/bitops.h | 11 | 
1 files changed, 6 insertions, 5 deletions
diff --git a/arch/powerpc/include/asm/bitops.h b/arch/powerpc/include/asm/bitops.h index 910194e9a1e..bd3bd573d0a 100644 --- a/arch/powerpc/include/asm/bitops.h +++ b/arch/powerpc/include/asm/bitops.h @@ -46,11 +46,12 @@  #include <asm/asm-compat.h>  #include <asm/synch.h> -/* - * clear_bit doesn't imply a memory barrier - */ -#define smp_mb__before_clear_bit()	smp_mb() -#define smp_mb__after_clear_bit()	smp_mb() +/* PPC bit number conversion */ +#define PPC_BITLSHIFT(be)	(BITS_PER_LONG - 1 - (be)) +#define PPC_BIT(bit)		(1UL << PPC_BITLSHIFT(bit)) +#define PPC_BITMASK(bs, be)	((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) + +#include <asm/barrier.h>  /* Macro for generating the ***_bits() functions */  #define DEFINE_BITOP(fn, op, prefix)		\  | 
