[PATCH v3 01/22] bitops: merge little and big endian definisions in asm-generic/bitops/le.h

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Akinobu Mita
Date: Tuesday, November 23, 2010 - 6:38 am

In order to make the forthcoming changes smaller, this merges
macro definisions in asm-generic/bitops/le.h for big-endian and
little-endian as much as possible.

This also removes unused BITOP_WORD macro.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
---
No change from previous submission
 include/asm-generic/bitops/le.h |   38 +++++++++++++++-----------------------
 1 files changed, 15 insertions(+), 23 deletions(-)

diff --git a/include/asm-generic/bitops/le.h b/include/asm-generic/bitops/le.h
index 80e3bf1..db2be81 100644
--- a/include/asm-generic/bitops/le.h
+++ b/include/asm-generic/bitops/le.h
@@ -4,27 +4,28 @@
 #include <asm/types.h>
 #include <asm/byteorder.h>
 
-#define BITOP_WORD(nr)		((nr) / BITS_PER_LONG)
-#define BITOP_LE_SWIZZLE	((BITS_PER_LONG-1) & ~0x7)
-
 #if defined(__LITTLE_ENDIAN)
 
-#define generic_test_le_bit(nr, addr) test_bit(nr, addr)
-#define generic___set_le_bit(nr, addr) __set_bit(nr, addr)
-#define generic___clear_le_bit(nr, addr) __clear_bit(nr, addr)
-
-#define generic_test_and_set_le_bit(nr, addr) test_and_set_bit(nr, addr)
-#define generic_test_and_clear_le_bit(nr, addr) test_and_clear_bit(nr, addr)
+#define BITOP_LE_SWIZZLE	0
 
-#define generic___test_and_set_le_bit(nr, addr) __test_and_set_bit(nr, addr)
-#define generic___test_and_clear_le_bit(nr, addr) __test_and_clear_bit(nr, addr)
-
-#define generic_find_next_zero_le_bit(addr, size, offset) find_next_zero_bit(addr, size, offset)
+#define generic_find_next_zero_le_bit(addr, size, offset) \
+	find_next_zero_bit(addr, size, offset)
 #define generic_find_next_le_bit(addr, size, offset) \
-			find_next_bit(addr, size, offset)
+	find_next_bit(addr, size, offset)
 
 #elif defined(__BIG_ENDIAN)
 
+#define BITOP_LE_SWIZZLE	((BITS_PER_LONG-1) & ~0x7)
+
+extern unsigned long generic_find_next_zero_le_bit(const unsigned long *addr,
+		unsigned long size, unsigned long offset);
+extern unsigned long generic_find_next_le_bit(const unsigned long *addr,
+		unsigned long size, unsigned long offset);
+
+#else
+#error "Please fix <asm/byteorder.h>"
+#endif
+
 #define generic_test_le_bit(nr, addr) \
 	test_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
 #define generic___set_le_bit(nr, addr) \
@@ -42,15 +43,6 @@
 #define generic___test_and_clear_le_bit(nr, addr) \
 	__test_and_clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
 
-extern unsigned long generic_find_next_zero_le_bit(const unsigned long *addr,
-		unsigned long size, unsigned long offset);
-extern unsigned long generic_find_next_le_bit(const unsigned long *addr,
-		unsigned long size, unsigned long offset);
-
-#else
-#error "Please fix <asm/byteorder.h>"
-#endif
-
 #define generic_find_first_zero_le_bit(addr, size) \
         generic_find_next_zero_le_bit((addr), (size), 0)
 
-- 
1.7.3.2

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH v3 00/22] Introduce little endian bitops, Akinobu Mita, (Tue Nov 23, 6:38 am)
[PATCH v3 01/22] bitops: merge little and big endian defin ..., Akinobu Mita, (Tue Nov 23, 6:38 am)
[PATCH v3 03/22] s390: introduce little-endian bitops, Akinobu Mita, (Tue Nov 23, 6:38 am)
[PATCH v3 04/22] arm: introduce little-endian bitops, Akinobu Mita, (Tue Nov 23, 6:38 am)
[PATCH v3 05/22] m68k: introduce little-endian bitops, Akinobu Mita, (Tue Nov 23, 6:38 am)
[PATCH v3 10/22] asm-generic: use little-endian bitops, Akinobu Mita, (Tue Nov 23, 6:38 am)
[PATCH v3 11/22] ext3: use little-endian bitops, Akinobu Mita, (Tue Nov 23, 6:38 am)
[PATCH v3 12/22] ext4: use little-endian bitops, Akinobu Mita, (Tue Nov 23, 6:38 am)
[PATCH v3 13/22] ocfs2: use little-endian bitops, Akinobu Mita, (Tue Nov 23, 6:38 am)
[PATCH v3 14/22] nilfs2: use little-endian bitops, Akinobu Mita, (Tue Nov 23, 6:38 am)
[PATCH v3 15/22] reiserfs: use little-endian bitops, Akinobu Mita, (Tue Nov 23, 6:38 am)
[PATCH v3 16/22] udf: use little-endian bitops, Akinobu Mita, (Tue Nov 23, 6:38 am)
[PATCH v3 17/22] ufs: use little-endian bitops, Akinobu Mita, (Tue Nov 23, 6:38 am)
[PATCH v3 18/22] md: use little-endian bit operations, Akinobu Mita, (Tue Nov 23, 6:38 am)
[PATCH v3 19/22] dm: use little-endian bit operations, Akinobu Mita, (Tue Nov 23, 6:38 am)
Re: [PATCH v3 12/22] ext4: use little-endian bitops, Ted Ts'o, (Tue Nov 23, 12:29 pm)