|
@@ -8,20 +8,31 @@
|
|
|
|
|
|
#define BITOP_LE_SWIZZLE 0
|
|
|
|
|
|
-#define find_next_zero_bit_le(addr, size, offset) \
|
|
|
- find_next_zero_bit(addr, size, offset)
|
|
|
-#define find_next_bit_le(addr, size, offset) \
|
|
|
- find_next_bit(addr, size, offset)
|
|
|
-#define find_first_zero_bit_le(addr, size) \
|
|
|
- find_first_zero_bit(addr, size)
|
|
|
+static inline unsigned long find_next_zero_bit_le(const void *addr,
|
|
|
+ unsigned long size, unsigned long offset)
|
|
|
+{
|
|
|
+ return find_next_zero_bit(addr, size, offset);
|
|
|
+}
|
|
|
+
|
|
|
+static inline unsigned long find_next_bit_le(const void *addr,
|
|
|
+ unsigned long size, unsigned long offset)
|
|
|
+{
|
|
|
+ return find_next_bit(addr, size, offset);
|
|
|
+}
|
|
|
+
|
|
|
+static inline unsigned long find_first_zero_bit_le(const void *addr,
|
|
|
+ unsigned long size)
|
|
|
+{
|
|
|
+ return find_first_zero_bit(addr, size);
|
|
|
+}
|
|
|
|
|
|
#elif defined(__BIG_ENDIAN)
|
|
|
|
|
|
#define BITOP_LE_SWIZZLE ((BITS_PER_LONG-1) & ~0x7)
|
|
|
|
|
|
-extern unsigned long find_next_zero_bit_le(const unsigned long *addr,
|
|
|
+extern unsigned long find_next_zero_bit_le(const void *addr,
|
|
|
unsigned long size, unsigned long offset);
|
|
|
-extern unsigned long find_next_bit_le(const unsigned long *addr,
|
|
|
+extern unsigned long find_next_bit_le(const void *addr,
|
|
|
unsigned long size, unsigned long offset);
|
|
|
|
|
|
#define find_first_zero_bit_le(addr, size) \
|
|
@@ -31,21 +42,39 @@ extern unsigned long find_next_bit_le(const unsigned long *addr,
|
|
|
#error "Please fix <asm/byteorder.h>"
|
|
|
#endif
|
|
|
|
|
|
-#define test_bit_le(nr, addr) \
|
|
|
- test_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
|
|
|
-#define __set_bit_le(nr, addr) \
|
|
|
- __set_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
|
|
|
-#define __clear_bit_le(nr, addr) \
|
|
|
- __clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
|
|
|
-
|
|
|
-#define test_and_set_bit_le(nr, addr) \
|
|
|
- test_and_set_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
|
|
|
-#define test_and_clear_bit_le(nr, addr) \
|
|
|
- test_and_clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
|
|
|
-
|
|
|
-#define __test_and_set_bit_le(nr, addr) \
|
|
|
- __test_and_set_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
|
|
|
-#define __test_and_clear_bit_le(nr, addr) \
|
|
|
- __test_and_clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
|
|
|
+static inline int test_bit_le(int nr, const void *addr)
|
|
|
+{
|
|
|
+ return test_bit(nr ^ BITOP_LE_SWIZZLE, addr);
|
|
|
+}
|
|
|
+
|
|
|
+static inline void __set_bit_le(int nr, void *addr)
|
|
|
+{
|
|
|
+ __set_bit(nr ^ BITOP_LE_SWIZZLE, addr);
|
|
|
+}
|
|
|
+
|
|
|
+static inline void __clear_bit_le(int nr, void *addr)
|
|
|
+{
|
|
|
+ __clear_bit(nr ^ BITOP_LE_SWIZZLE, addr);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int test_and_set_bit_le(int nr, void *addr)
|
|
|
+{
|
|
|
+ return test_and_set_bit(nr ^ BITOP_LE_SWIZZLE, addr);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int test_and_clear_bit_le(int nr, void *addr)
|
|
|
+{
|
|
|
+ return test_and_clear_bit(nr ^ BITOP_LE_SWIZZLE, addr);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int __test_and_set_bit_le(int nr, void *addr)
|
|
|
+{
|
|
|
+ return __test_and_set_bit(nr ^ BITOP_LE_SWIZZLE, addr);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int __test_and_clear_bit_le(int nr, void *addr)
|
|
|
+{
|
|
|
+ return __test_and_clear_bit(nr ^ BITOP_LE_SWIZZLE, addr);
|
|
|
+}
|
|
|
|
|
|
#endif /* _ASM_GENERIC_BITOPS_LE_H_ */
|