The patch titled bitops: introduce CONFIG_GENERIC_FIND_BIT_LE has been added to the -mm tree. Its filename is bitops-introduce-config_generic_find_bit_le.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find out what to do about this The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: bitops: introduce CONFIG_GENERIC_FIND_BIT_LE From: Akinobu Mita <akinobu.mita@xxxxxxxxx> 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@xxxxxxxxx> Cc: Greg Ungerer <gerg@xxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- arch/frv/Kconfig | 4 ++++ arch/h8300/Kconfig | 4 ++++ arch/m32r/Kconfig | 4 ++++ arch/m68knommu/Kconfig | 4 ++++ arch/microblaze/Kconfig | 3 +++ arch/mips/Kconfig | 4 ++++ arch/parisc/Kconfig | 4 ++++ arch/powerpc/Kconfig | 4 ++++ arch/sh/Kconfig | 3 +++ arch/sparc/Kconfig | 4 ++++ arch/xtensa/Kconfig | 3 +++ lib/Kconfig | 3 +++ lib/Makefile | 1 + lib/find_next_bit.c | 3 +++ 14 files changed, 48 insertions(+) diff -puN arch/frv/Kconfig~bitops-introduce-config_generic_find_bit_le arch/frv/Kconfig --- a/arch/frv/Kconfig~bitops-introduce-config_generic_find_bit_le +++ a/arch/frv/Kconfig @@ -23,6 +23,10 @@ config GENERIC_FIND_NEXT_BIT bool default y +config GENERIC_FIND_BIT_LE + bool + default y + config GENERIC_HWEIGHT bool default y diff -puN arch/h8300/Kconfig~bitops-introduce-config_generic_find_bit_le arch/h8300/Kconfig --- a/arch/h8300/Kconfig~bitops-introduce-config_generic_find_bit_le +++ a/arch/h8300/Kconfig @@ -45,6 +45,10 @@ config GENERIC_FIND_NEXT_BIT bool default y +config GENERIC_FIND_BIT_LE + bool + default y + config GENERIC_HWEIGHT bool default y diff -puN arch/m32r/Kconfig~bitops-introduce-config_generic_find_bit_le arch/m32r/Kconfig --- a/arch/m32r/Kconfig~bitops-introduce-config_generic_find_bit_le +++ a/arch/m32r/Kconfig @@ -260,6 +260,10 @@ config GENERIC_FIND_NEXT_BIT bool default y +config GENERIC_FIND_BIT_LE + bool + default y + config GENERIC_HWEIGHT bool default y diff -puN arch/m68knommu/Kconfig~bitops-introduce-config_generic_find_bit_le arch/m68knommu/Kconfig --- a/arch/m68knommu/Kconfig~bitops-introduce-config_generic_find_bit_le +++ a/arch/m68knommu/Kconfig @@ -41,6 +41,10 @@ config GENERIC_FIND_NEXT_BIT bool default y +config GENERIC_FIND_BIT_LE + bool + default y + config GENERIC_GPIO bool default n diff -puN arch/microblaze/Kconfig~bitops-introduce-config_generic_find_bit_le arch/microblaze/Kconfig --- a/arch/microblaze/Kconfig~bitops-introduce-config_generic_find_bit_le +++ a/arch/microblaze/Kconfig @@ -36,6 +36,9 @@ config ARCH_HAS_ILOG2_U64 config GENERIC_FIND_NEXT_BIT def_bool y +config GENERIC_FIND_BIT_LE + def_bool y + config GENERIC_HWEIGHT def_bool y diff -puN arch/mips/Kconfig~bitops-introduce-config_generic_find_bit_le arch/mips/Kconfig --- a/arch/mips/Kconfig~bitops-introduce-config_generic_find_bit_le +++ a/arch/mips/Kconfig @@ -773,6 +773,10 @@ config GENERIC_FIND_NEXT_BIT bool default y +config GENERIC_FIND_BIT_LE + bool + default y + config GENERIC_HWEIGHT bool default y diff -puN arch/parisc/Kconfig~bitops-introduce-config_generic_find_bit_le arch/parisc/Kconfig --- a/arch/parisc/Kconfig~bitops-introduce-config_generic_find_bit_le +++ a/arch/parisc/Kconfig @@ -52,6 +52,10 @@ config GENERIC_FIND_NEXT_BIT bool default y +config GENERIC_FIND_BIT_LE + bool + default y + config GENERIC_BUG bool default y diff -puN arch/powerpc/Kconfig~bitops-introduce-config_generic_find_bit_le arch/powerpc/Kconfig --- a/arch/powerpc/Kconfig~bitops-introduce-config_generic_find_bit_le +++ a/arch/powerpc/Kconfig @@ -95,6 +95,10 @@ config GENERIC_FIND_NEXT_BIT bool default y +config GENERIC_FIND_BIT_LE + bool + default y + config GENERIC_GPIO bool help diff -puN arch/sh/Kconfig~bitops-introduce-config_generic_find_bit_le arch/sh/Kconfig --- a/arch/sh/Kconfig~bitops-introduce-config_generic_find_bit_le +++ a/arch/sh/Kconfig @@ -75,6 +75,9 @@ config GENERIC_CSUM config GENERIC_FIND_NEXT_BIT def_bool y +config GENERIC_FIND_BIT_LE + def_bool y + config GENERIC_HWEIGHT def_bool y diff -puN arch/sparc/Kconfig~bitops-introduce-config_generic_find_bit_le arch/sparc/Kconfig --- a/arch/sparc/Kconfig~bitops-introduce-config_generic_find_bit_le +++ a/arch/sparc/Kconfig @@ -192,6 +192,10 @@ config GENERIC_FIND_NEXT_BIT bool default y +config GENERIC_FIND_BIT_LE + bool + default y + config GENERIC_HWEIGHT bool default y if !ULTRA_HAS_POPULATION_COUNT diff -puN arch/xtensa/Kconfig~bitops-introduce-config_generic_find_bit_le arch/xtensa/Kconfig --- a/arch/xtensa/Kconfig~bitops-introduce-config_generic_find_bit_le +++ a/arch/xtensa/Kconfig @@ -21,6 +21,9 @@ config RWSEM_XCHGADD_ALGORITHM config GENERIC_FIND_NEXT_BIT def_bool y +config GENERIC_FIND_BIT_LE + def_bool y + config GENERIC_HWEIGHT def_bool y diff -puN lib/Kconfig~bitops-introduce-config_generic_find_bit_le lib/Kconfig --- a/lib/Kconfig~bitops-introduce-config_generic_find_bit_le +++ a/lib/Kconfig @@ -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 diff -puN lib/Makefile~bitops-introduce-config_generic_find_bit_le lib/Makefile --- a/lib/Makefile~bitops-introduce-config_generic_find_bit_le +++ a/lib/Makefile @@ -38,6 +38,7 @@ lib-$(CONFIG_RWSEM_GENERIC_SPINLOCK) += 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)) diff -puN lib/find_next_bit.c~bitops-introduce-config_generic_find_bit_le lib/find_next_bit.c --- a/lib/find_next_bit.c~bitops-introduce-config_generic_find_bit_le +++ a/lib/find_next_bit.c @@ -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 */ _ Patches currently in -mm which might be from akinobu.mita@xxxxxxxxx are smp-move-smp-setup-functions-to-kernel-smpc.patch kvm-stop-including-asm-generic-bitops-leh-directly.patch rds-stop-including-asm-generic-bitops-leh-directly.patch bitops-merge-little-and-big-endian-definisions-in-asm-generic-bitops-leh.patch asm-generic-rename-generic-little-endian-bitops-functions.patch asm-generic-change-little-endian-bitops-to-take-any-pointer-types.patch powerpc-introduce-little-endian-bitops.patch s390-introduce-little-endian-bitops.patch arm-introduce-little-endian-bitops.patch m68k-introduce-little-endian-bitops.patch bitops-introduce-config_generic_find_bit_le.patch m68knommu-introduce-little-endian-bitops.patch bitops-introduce-little-endian-bitops-for-most-architectures.patch asm-generic-use-little-endian-bitops.patch kvm-use-little-endian-bitops.patch rds-use-little-endian-bitops.patch ext3-use-little-endian-bitops.patch ext4-use-little-endian-bitops.patch ocfs2-use-little-endian-bitops.patch nilfs2-use-little-endian-bitops.patch reiserfs-use-little-endian-bitops.patch udf-use-little-endian-bitops.patch ufs-use-little-endian-bitops.patch md-use-little-endian-bitops.patch dm-use-little-endian-bitops.patch bitops-remove-ext2-non-atomic-bitops-from-asm-bitopsh.patch m68k-remove-inline-asm-from-minix_find_first_zero_bit.patch bitops-remove-minix-bitops-from-asm-bitopsh.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html