Commit 0664996b7c2fdb1b7f90954469cc242274abd7db
Committed by
Linus Torvalds
1 parent
3f5527fe7e
Exists in
master
and in
20 other branches
bitops: introduce CONFIG_GENERIC_FIND_BIT_LE
This introduces CONFIG_GENERIC_FIND_BIT_LE to tell whether to use generic implementation of find_*_bit_le() in lib/find_next_bit.c or not. For now we select CONFIG_GENERIC_FIND_BIT_LE for all architectures which enable CONFIG_GENERIC_FIND_NEXT_BIT. But m68knommu wants to define own faster find_next_zero_bit_le() and continues using generic find_next_{,zero_}bit(). (CONFIG_GENERIC_FIND_NEXT_BIT and !CONFIG_GENERIC_FIND_BIT_LE) Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Cc: Greg Ungerer <gerg@uclinux.org> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Showing 14 changed files with 48 additions and 0 deletions Side-by-side Diff
arch/frv/Kconfig
arch/h8300/Kconfig
arch/m32r/Kconfig
arch/m68knommu/Kconfig
arch/microblaze/Kconfig
arch/mips/Kconfig
arch/parisc/Kconfig
arch/powerpc/Kconfig
arch/sh/Kconfig
arch/sparc/Kconfig
arch/xtensa/Kconfig
lib/Kconfig
lib/Makefile
... | ... | @@ -40,6 +40,7 @@ |
40 | 40 | lib-$(CONFIG_RWSEM_XCHGADD_ALGORITHM) += rwsem.o |
41 | 41 | lib-$(CONFIG_GENERIC_FIND_FIRST_BIT) += find_next_bit.o |
42 | 42 | lib-$(CONFIG_GENERIC_FIND_NEXT_BIT) += find_next_bit.o |
43 | +lib-$(CONFIG_GENERIC_FIND_BIT_LE) += find_next_bit.o | |
43 | 44 | obj-$(CONFIG_GENERIC_FIND_LAST_BIT) += find_last_bit.o |
44 | 45 | |
45 | 46 | CFLAGS_hweight.o = $(subst $(quote),,$(CONFIG_ARCH_HWEIGHT_CFLAGS)) |
lib/find_next_bit.c
... | ... | @@ -160,6 +160,7 @@ |
160 | 160 | #endif /* CONFIG_GENERIC_FIND_FIRST_BIT */ |
161 | 161 | |
162 | 162 | #ifdef __BIG_ENDIAN |
163 | +#ifdef CONFIG_GENERIC_FIND_BIT_LE | |
163 | 164 | |
164 | 165 | /* include/linux/byteorder does not support "unsigned long" type */ |
165 | 166 | static inline unsigned long ext2_swabp(const unsigned long * x) |
... | ... | @@ -273,5 +274,7 @@ |
273 | 274 | return result + __ffs(ext2_swab(tmp)); |
274 | 275 | } |
275 | 276 | EXPORT_SYMBOL(find_next_bit_le); |
277 | + | |
278 | +#endif /* CONFIG_GENERIC_FIND_BIT_LE */ | |
276 | 279 | #endif /* __BIG_ENDIAN */ |