diff options
author | Akinobu Mita <akinobu.mita@gmail.com> | 2011-07-26 19:09:04 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-26 19:49:46 -0400 |
commit | 148817ba092f9f6edd35bad3c6c6b8e8f90fe2ed (patch) | |
tree | 75cc7df62c9713bc1a44738026878a79653faa38 /arch/sparc | |
parent | b2c9cd3793e5878e301ec2219785a7b8ca402ef1 (diff) |
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 <akinobu.mita@gmail.com>
Suggested-by: Andreas Dilger <adilger@dilger.ca>
Suggested-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/sparc')
-rw-r--r-- | arch/sparc/include/asm/bitops_64.h | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/arch/sparc/include/asm/bitops_64.h b/arch/sparc/include/asm/bitops_64.h index 38e9aa1b2cea..325e295d60de 100644 --- a/arch/sparc/include/asm/bitops_64.h +++ b/arch/sparc/include/asm/bitops_64.h | |||
@@ -91,10 +91,7 @@ static inline unsigned int __arch_hweight8(unsigned int w) | |||
91 | 91 | ||
92 | #include <asm-generic/bitops/le.h> | 92 | #include <asm-generic/bitops/le.h> |
93 | 93 | ||
94 | #define ext2_set_bit_atomic(lock,nr,addr) \ | 94 | #include <asm-generic/bitops/ext2-atomic-setbit.h> |
95 | test_and_set_bit((nr) ^ 0x38,(unsigned long *)(addr)) | ||
96 | #define ext2_clear_bit_atomic(lock,nr,addr) \ | ||
97 | test_and_clear_bit((nr) ^ 0x38,(unsigned long *)(addr)) | ||
98 | 95 | ||
99 | #endif /* __KERNEL__ */ | 96 | #endif /* __KERNEL__ */ |
100 | 97 | ||