mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
asm-generic: add another generic ext2 atomic bitops
The majority of architectures implement ext2 atomic bitops as
test_and_{set,clear}_bit() without spinlock.
This adds this type of generic implementation in ext2-atomic-setbit.h and
use it wherever possible.
Signed-off-by: Akinobu Mita <[email protected]>
Suggested-by: Andreas Dilger <[email protected]>
Suggested-by: Arnd Bergmann <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
b2c9cd3793
commit
148817ba09
15 changed files with 28 additions and 59 deletions
|
|
@ -223,14 +223,7 @@ static __inline__ int fls(int x)
|
|||
#ifdef __KERNEL__
|
||||
|
||||
#include <asm-generic/bitops/le.h>
|
||||
|
||||
/* '3' is bits per byte */
|
||||
#define LE_BYTE_ADDR ((sizeof(unsigned long) - 1) << 3)
|
||||
|
||||
#define ext2_set_bit_atomic(l,nr,addr) \
|
||||
test_and_set_bit((nr) ^ LE_BYTE_ADDR, (unsigned long *)addr)
|
||||
#define ext2_clear_bit_atomic(l,nr,addr) \
|
||||
test_and_clear_bit( (nr) ^ LE_BYTE_ADDR, (unsigned long *)addr)
|
||||
#include <asm-generic/bitops/ext2-atomic-setbit.h>
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue