x86: change x86 to use generic find_next_bit
[deliverable/linux.git] / include / asm-x86 / bitops_64.h
index 48adbf56ca60c9f2d7da5954e3245188d6f8a2ea..65b20fb2ae78a0a9fffc5daa42477f3fb55b1e4e 100644 (file)
@@ -6,9 +6,7 @@
  */
 
 extern long find_first_zero_bit(const unsigned long *addr, unsigned long size);
-extern long find_next_zero_bit(const unsigned long *addr, long size, long offset);
 extern long find_first_bit(const unsigned long *addr, unsigned long size);
-extern long find_next_bit(const unsigned long *addr, long size, long offset);
 
 /* return index of first bet set in val or max when no bit is set */
 static inline long __scanbit(unsigned long val, unsigned long max)
@@ -17,51 +15,35 @@ static inline long __scanbit(unsigned long val, unsigned long max)
        return val;
 }
 
-#define find_first_bit(addr,size) \
-((__builtin_constant_p(size) && (size) <= BITS_PER_LONG ? \
-  (__scanbit(*(unsigned long *)addr,(size))) : \
-  find_first_bit(addr,size)))
-
 #define find_next_bit(addr,size,off) \
 ((__builtin_constant_p(size) && (size) <= BITS_PER_LONG ?        \
   ((off) + (__scanbit((*(unsigned long *)addr) >> (off),(size)-(off)))) : \
        find_next_bit(addr,size,off)))
 
-#define find_first_zero_bit(addr,size) \
-((__builtin_constant_p(size) && (size) <= BITS_PER_LONG ? \
-  (__scanbit(~*(unsigned long *)addr,(size))) : \
-       find_first_zero_bit(addr,size)))
-       
 #define find_next_zero_bit(addr,size,off) \
 ((__builtin_constant_p(size) && (size) <= BITS_PER_LONG ?        \
   ((off)+(__scanbit(~(((*(unsigned long *)addr)) >> (off)),(size)-(off)))) : \
        find_next_zero_bit(addr,size,off)))
 
-/* 
- * Find string of zero bits in a bitmap. -1 when not found.
- */ 
-extern unsigned long 
-find_next_zero_string(unsigned long *bitmap, long start, long nbits, int len);
+#define find_first_bit(addr, size)                                     \
+       ((__builtin_constant_p((size)) && (size) <= BITS_PER_LONG       \
+         ? (__scanbit(*(unsigned long *)(addr), (size)))               \
+         : find_first_bit((addr), (size))))
 
-static inline void set_bit_string(unsigned long *bitmap, unsigned long i, 
-                                 int len) 
-{ 
-       unsigned long end = i + len; 
-       while (i < end) {
-               __set_bit(i, bitmap); 
-               i++;
-       }
-} 
+#define find_first_zero_bit(addr, size)                                        \
+       ((__builtin_constant_p((size)) && (size) <= BITS_PER_LONG       \
+         ? (__scanbit(~*(unsigned long *)(addr), (size)))              \
+         : find_first_zero_bit((addr), (size))))
 
-static inline void __clear_bit_string(unsigned long *bitmap, unsigned long i, 
-                                   int len) 
-{ 
-       unsigned long end = i + len; 
+static inline void set_bit_string(unsigned long *bitmap, unsigned long i,
+                                 int len)
+{
+       unsigned long end = i + len;
        while (i < end) {
-               __clear_bit(i, bitmap); 
+               __set_bit(i, bitmap);
                i++;
        }
-} 
+}
 
 /**
  * ffz - find first zero in word.
@@ -166,10 +148,10 @@ static inline int fls(int x)
 
 #include <asm-generic/bitops/ext2-non-atomic.h>
 
-#define ext2_set_bit_atomic(lock,nr,addr) \
-               test_and_set_bit((nr),(unsigned long*)addr)
-#define ext2_clear_bit_atomic(lock,nr,addr) \
-               test_and_clear_bit((nr),(unsigned long*)addr)
+#define ext2_set_bit_atomic(lock, nr, addr)                    \
+       test_and_set_bit((nr), (unsigned long *)(addr))
+#define ext2_clear_bit_atomic(lock, nr, addr)                  \
+       test_and_clear_bit((nr), (unsigned long *)(addr))
 
 #include <asm-generic/bitops/minix.h>
 
This page took 0.034395 seconds and 5 git commands to generate.