The patch titled m68knommu: fix build error due to the lack of find_next_bit_le() has been removed from the -mm tree. Its filename was m68knommu-fix-build-error-due-to-the-lack-of-find_next_bit_le.patch This patch was dropped because other changes were merged, which wrecked this patch The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: m68knommu: fix build error due to the lack of find_next_bit_le() From: Akinobu Mita <akinobu.mita@xxxxxxxxx> m68knommu can't build ext4, udf, and ocfs2 due to the lack of find_next_bit_le(). This implements find_next_bit_le() on m68knommu by duplicating the generic find_next_bit_le() in lib/find_next_bit.c. Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: Greg Ungerer <gerg@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- arch/m68k/include/asm/bitops_no.h | 44 ++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff -puN arch/m68k/include/asm/bitops_no.h~m68knommu-fix-build-error-due-to-the-lack-of-find_next_bit_le arch/m68k/include/asm/bitops_no.h --- a/arch/m68k/include/asm/bitops_no.h~m68knommu-fix-build-error-due-to-the-lack-of-find_next_bit_le +++ a/arch/m68k/include/asm/bitops_no.h @@ -320,6 +320,50 @@ found_middle: return result + ffz(__swab32(tmp)); } +static inline unsigned long find_next_bit_le(const void *addr, unsigned + long size, unsigned long offset) +{ + const unsigned long *p = addr; + unsigned long result = offset & ~(BITS_PER_LONG - 1); + unsigned long tmp; + + if (offset >= size) + return size; + p += offset / BITS_PER_LONG; + size -= result; + offset &= (BITS_PER_LONG - 1UL); + if (offset) { + tmp = __swab32(*(p++)); + tmp &= (~0UL << offset); + if (size < BITS_PER_LONG) + goto found_first; + if (tmp) + goto found_middle; + size -= BITS_PER_LONG; + result += BITS_PER_LONG; + } + + while (size & ~(BITS_PER_LONG - 1)) { + tmp = *(p++); + if (tmp) + goto found_middle_swap; + result += BITS_PER_LONG; + size -= BITS_PER_LONG; + } + if (!size) + return result; + tmp = __swab32(*p); +found_first: + tmp &= (~0UL >> (BITS_PER_LONG - size)); + if (tmp == 0UL) /* Are any bits set? */ + return result + size; /* Nope. */ +found_middle: + return result + __ffs(tmp); + +found_middle_swap: + return result + __ffs(__swab32(tmp)); +} + #endif /* __KERNEL__ */ #include <asm-generic/bitops/fls.h> _ Patches currently in -mm which might be from akinobu.mita@xxxxxxxxx are origin.patch linux-next.patch arch-add-define-for-each-of-optimized-find-bitops.patch bitops-add-ifndef-for-each-of-find-bitops.patch arch-remove-config_generic_find_next_bitbit_lelast_bit.patch arm-use-asm-generic-bitops-leh.patch s390-use-asm-generic-bitops-leh.patch m68knommu-use-generic-find_next_bit_le.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