lkml.org 
[lkml]   [2011]   [Apr]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 2/3] arm: use asm-generic/bitops/le.h
    Date
    The previous change enables to use asm-generic/bitops/le.h on arm.

    Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
    Cc: Russell King <linux@arm.linux.org.uk>
    Cc: linux-arm-kernel@lists.infradead.org
    ---
    arch/arm/include/asm/bitops.h | 41 ++++-------------------------------------
    1 files changed, 4 insertions(+), 37 deletions(-)

    diff --git a/arch/arm/include/asm/bitops.h b/arch/arm/include/asm/bitops.h
    index ec2e0d4..4615e1b 100644
    --- a/arch/arm/include/asm/bitops.h
    +++ b/arch/arm/include/asm/bitops.h
    @@ -203,8 +203,6 @@ extern int _find_next_bit_be(const unsigned long *p, int size, int offset);
    #define find_first_bit(p,sz) _find_first_bit_le(p,sz)
    #define find_next_bit(p,sz,off) _find_next_bit_le(p,sz,off)

    -#define WORD_BITOFF_TO_LE(x) ((x))
    -
    #else
    /*
    * These are the big endian, atomic definitions.
    @@ -214,8 +212,6 @@ extern int _find_next_bit_be(const unsigned long *p, int size, int offset);
    #define find_first_bit(p,sz) _find_first_bit_be(p,sz)
    #define find_next_bit(p,sz,off) _find_next_bit_be(p,sz,off)

    -#define WORD_BITOFF_TO_LE(x) ((x) ^ 0x18)
    -
    #endif

    #if __LINUX_ARM_ARCH__ < 5
    @@ -287,40 +283,9 @@ static inline int fls(int x)
    #include <asm-generic/bitops/hweight.h>
    #include <asm-generic/bitops/lock.h>

    -static inline void __set_bit_le(int nr, void *addr)
    -{
    - __set_bit(WORD_BITOFF_TO_LE(nr), addr);
    -}
    -
    -static inline void __clear_bit_le(int nr, void *addr)
    -{
    - __clear_bit(WORD_BITOFF_TO_LE(nr), addr);
    -}
    -
    -static inline int __test_and_set_bit_le(int nr, void *addr)
    -{
    - return __test_and_set_bit(WORD_BITOFF_TO_LE(nr), addr);
    -}
    +#include <asm-generic/bitops/le.h>

    -static inline int test_and_set_bit_le(int nr, void *addr)
    -{
    - return test_and_set_bit(WORD_BITOFF_TO_LE(nr), addr);
    -}
    -
    -static inline int __test_and_clear_bit_le(int nr, void *addr)
    -{
    - return __test_and_clear_bit(WORD_BITOFF_TO_LE(nr), addr);
    -}
    -
    -static inline int test_and_clear_bit_le(int nr, void *addr)
    -{
    - return test_and_clear_bit(WORD_BITOFF_TO_LE(nr), addr);
    -}
    -
    -static inline int test_bit_le(int nr, const void *addr)
    -{
    - return test_bit(WORD_BITOFF_TO_LE(nr), addr);
    -}
    +#ifdef __ARMEB__

    static inline int find_first_zero_bit_le(const void *p, unsigned size)
    {
    @@ -337,6 +302,8 @@ static inline int find_next_bit_le(const void *p, int size, int offset)
    return _find_next_bit_le(p, size, offset);
    }

    +#endif
    +
    /*
    * Ext2 is defined to use little-endian byte ordering.
    */
    --
    1.7.4.4


    \
     
     \ /
      Last update: 2011-04-20 16:23    [W:0.025 / U:93.544 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site