diff options
Diffstat (limited to 'arch/m68k/include/asm/bitops.h')
| -rw-r--r-- | arch/m68k/include/asm/bitops.h | 49 | 
1 files changed, 34 insertions, 15 deletions
diff --git a/arch/m68k/include/asm/bitops.h b/arch/m68k/include/asm/bitops.h index 87c2cd66a9ce..470aed978590 100644 --- a/arch/m68k/include/asm/bitops.h +++ b/arch/m68k/include/asm/bitops.h @@ -65,8 +65,11 @@ static inline void bfset_mem_set_bit(int nr, volatile unsigned long *vaddr)  				bfset_mem_set_bit(nr, vaddr))  #endif -#define __set_bit(nr, vaddr)	set_bit(nr, vaddr) - +static __always_inline void +arch___set_bit(unsigned long nr, volatile unsigned long *addr) +{ +	set_bit(nr, addr); +}  static inline void bclr_reg_clear_bit(int nr, volatile unsigned long *vaddr)  { @@ -105,8 +108,11 @@ static inline void bfclr_mem_clear_bit(int nr, volatile unsigned long *vaddr)  				bfclr_mem_clear_bit(nr, vaddr))  #endif -#define __clear_bit(nr, vaddr)	clear_bit(nr, vaddr) - +static __always_inline void +arch___clear_bit(unsigned long nr, volatile unsigned long *addr) +{ +	clear_bit(nr, addr); +}  static inline void bchg_reg_change_bit(int nr, volatile unsigned long *vaddr)  { @@ -145,14 +151,17 @@ static inline void bfchg_mem_change_bit(int nr, volatile unsigned long *vaddr)  				bfchg_mem_change_bit(nr, vaddr))  #endif -#define __change_bit(nr, vaddr)	change_bit(nr, vaddr) - - -static inline int test_bit(int nr, const volatile unsigned long *vaddr) +static __always_inline void +arch___change_bit(unsigned long nr, volatile unsigned long *addr)  { -	return (vaddr[nr >> 5] & (1UL << (nr & 31))) != 0; +	change_bit(nr, addr);  } +static __always_inline bool +arch_test_bit(unsigned long nr, const volatile unsigned long *addr) +{ +	return (addr[nr >> 5] & (1UL << (nr & 31))) != 0; +}  static inline int bset_reg_test_and_set_bit(int nr,  					    volatile unsigned long *vaddr) @@ -201,8 +210,11 @@ static inline int bfset_mem_test_and_set_bit(int nr,  					bfset_mem_test_and_set_bit(nr, vaddr))  #endif -#define __test_and_set_bit(nr, vaddr)	test_and_set_bit(nr, vaddr) - +static __always_inline bool +arch___test_and_set_bit(unsigned long nr, volatile unsigned long *addr) +{ +	return test_and_set_bit(nr, addr); +}  static inline int bclr_reg_test_and_clear_bit(int nr,  					      volatile unsigned long *vaddr) @@ -251,8 +263,11 @@ static inline int bfclr_mem_test_and_clear_bit(int nr,  					bfclr_mem_test_and_clear_bit(nr, vaddr))  #endif -#define __test_and_clear_bit(nr, vaddr)	test_and_clear_bit(nr, vaddr) - +static __always_inline bool +arch___test_and_clear_bit(unsigned long nr, volatile unsigned long *addr) +{ +	return test_and_clear_bit(nr, addr); +}  static inline int bchg_reg_test_and_change_bit(int nr,  					       volatile unsigned long *vaddr) @@ -301,8 +316,11 @@ static inline int bfchg_mem_test_and_change_bit(int nr,  					bfchg_mem_test_and_change_bit(nr, vaddr))  #endif -#define __test_and_change_bit(nr, vaddr) test_and_change_bit(nr, vaddr) - +static __always_inline bool +arch___test_and_change_bit(unsigned long nr, volatile unsigned long *addr) +{ +	return test_and_change_bit(nr, addr); +}  /*   *	The true 68020 and more advanced processors support the "bfffo" @@ -522,6 +540,7 @@ static inline unsigned long __fls(unsigned long x)  #define clear_bit_unlock	clear_bit  #define __clear_bit_unlock	clear_bit_unlock +#include <asm-generic/bitops/non-instrumented-non-atomic.h>  #include <asm-generic/bitops/ext2-atomic.h>  #include <asm-generic/bitops/fls64.h>  #include <asm-generic/bitops/sched.h>  |