lkml.org 
[lkml]   [2010]   [Nov]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 01/22] bitops: merge little and big endian definisions in asm-generic/bitops/le.h
    Date
    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


    \
     
     \ /
      Last update: 2010-11-23 14:41    [W:0.022 / U:59.680 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site