m68knommu: use generic find_next_bit_le()
Akinobu Mita [Thu, 26 May 2011 23:26:13 +0000 (16:26 -0700)]
The implementation of find_next_bit_le() on m68knommu is identical with
the generic implementation of find_next_bit_le().

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

arch/m68k/include/asm/bitops_no.h

index 52793eb..72e85ac 100644 (file)
@@ -321,50 +321,8 @@ found_middle:
 }
 #define find_next_zero_bit_le find_next_zero_bit_le
 
-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));
-}
-#define find_next_bit_le find_next_bit_le
+extern unsigned long find_next_bit_le(const void *addr,
+               unsigned long size, unsigned long offset);
 
 #endif /* __KERNEL__ */