You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
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>
This commit is contained in:
committed by
Linus Torvalds
parent
3f5527fe7e
commit
0664996b7c
@@ -22,6 +22,9 @@ config GENERIC_FIND_FIRST_BIT
|
||||
config GENERIC_FIND_NEXT_BIT
|
||||
bool
|
||||
|
||||
config GENERIC_FIND_BIT_LE
|
||||
bool
|
||||
|
||||
config GENERIC_FIND_LAST_BIT
|
||||
bool
|
||||
default y
|
||||
|
||||
@@ -40,6 +40,7 @@ lib-$(CONFIG_RWSEM_GENERIC_SPINLOCK) += rwsem-spinlock.o
|
||||
lib-$(CONFIG_RWSEM_XCHGADD_ALGORITHM) += rwsem.o
|
||||
lib-$(CONFIG_GENERIC_FIND_FIRST_BIT) += find_next_bit.o
|
||||
lib-$(CONFIG_GENERIC_FIND_NEXT_BIT) += find_next_bit.o
|
||||
lib-$(CONFIG_GENERIC_FIND_BIT_LE) += find_next_bit.o
|
||||
obj-$(CONFIG_GENERIC_FIND_LAST_BIT) += find_last_bit.o
|
||||
|
||||
CFLAGS_hweight.o = $(subst $(quote),,$(CONFIG_ARCH_HWEIGHT_CFLAGS))
|
||||
|
||||
@@ -160,6 +160,7 @@ EXPORT_SYMBOL(find_first_zero_bit);
|
||||
#endif /* CONFIG_GENERIC_FIND_FIRST_BIT */
|
||||
|
||||
#ifdef __BIG_ENDIAN
|
||||
#ifdef CONFIG_GENERIC_FIND_BIT_LE
|
||||
|
||||
/* include/linux/byteorder does not support "unsigned long" type */
|
||||
static inline unsigned long ext2_swabp(const unsigned long * x)
|
||||
@@ -273,4 +274,6 @@ found_middle_swap:
|
||||
return result + __ffs(ext2_swab(tmp));
|
||||
}
|
||||
EXPORT_SYMBOL(find_next_bit_le);
|
||||
|
||||
#endif /* CONFIG_GENERIC_FIND_BIT_LE */
|
||||
#endif /* __BIG_ENDIAN */
|
||||
|
||||
Reference in New Issue
Block a user