1930ae745SAkinobu Mita #ifndef _ASM_GENERIC_BITOPS_LE_H_ 2930ae745SAkinobu Mita #define _ASM_GENERIC_BITOPS_LE_H_ 3930ae745SAkinobu Mita 4930ae745SAkinobu Mita #include <asm/types.h> 5930ae745SAkinobu Mita #include <asm/byteorder.h> 6930ae745SAkinobu Mita 7930ae745SAkinobu Mita #if defined(__LITTLE_ENDIAN) 8930ae745SAkinobu Mita 963ab595fSAkinobu Mita #define BITOP_LE_SWIZZLE 0 10930ae745SAkinobu Mita 11*c4945b9eSAkinobu Mita #define find_next_zero_bit_le(addr, size, offset) \ 1263ab595fSAkinobu Mita find_next_zero_bit(addr, size, offset) 13*c4945b9eSAkinobu Mita #define find_next_bit_le(addr, size, offset) \ 14aa02ad67SAneesh Kumar K.V find_next_bit(addr, size, offset) 15*c4945b9eSAkinobu Mita #define find_first_zero_bit_le(addr, size) \ 1663ab595fSAkinobu Mita find_first_zero_bit(addr, size) 17930ae745SAkinobu Mita 18930ae745SAkinobu Mita #elif defined(__BIG_ENDIAN) 19930ae745SAkinobu Mita 2063ab595fSAkinobu Mita #define BITOP_LE_SWIZZLE ((BITS_PER_LONG-1) & ~0x7) 2163ab595fSAkinobu Mita 22*c4945b9eSAkinobu Mita extern unsigned long find_next_zero_bit_le(const unsigned long *addr, 2363ab595fSAkinobu Mita unsigned long size, unsigned long offset); 24*c4945b9eSAkinobu Mita extern unsigned long find_next_bit_le(const unsigned long *addr, 2563ab595fSAkinobu Mita unsigned long size, unsigned long offset); 2663ab595fSAkinobu Mita 27*c4945b9eSAkinobu Mita #define find_first_zero_bit_le(addr, size) \ 28*c4945b9eSAkinobu Mita find_next_zero_bit_le((addr), (size), 0) 2963ab595fSAkinobu Mita 3063ab595fSAkinobu Mita #else 3163ab595fSAkinobu Mita #error "Please fix <asm/byteorder.h>" 3263ab595fSAkinobu Mita #endif 3363ab595fSAkinobu Mita 34*c4945b9eSAkinobu Mita #define test_bit_le(nr, addr) \ 35930ae745SAkinobu Mita test_bit((nr) ^ BITOP_LE_SWIZZLE, (addr)) 36*c4945b9eSAkinobu Mita #define __set_bit_le(nr, addr) \ 37930ae745SAkinobu Mita __set_bit((nr) ^ BITOP_LE_SWIZZLE, (addr)) 38*c4945b9eSAkinobu Mita #define __clear_bit_le(nr, addr) \ 39930ae745SAkinobu Mita __clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr)) 40930ae745SAkinobu Mita 41*c4945b9eSAkinobu Mita #define test_and_set_bit_le(nr, addr) \ 42930ae745SAkinobu Mita test_and_set_bit((nr) ^ BITOP_LE_SWIZZLE, (addr)) 43*c4945b9eSAkinobu Mita #define test_and_clear_bit_le(nr, addr) \ 44930ae745SAkinobu Mita test_and_clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr)) 45930ae745SAkinobu Mita 46*c4945b9eSAkinobu Mita #define __test_and_set_bit_le(nr, addr) \ 47930ae745SAkinobu Mita __test_and_set_bit((nr) ^ BITOP_LE_SWIZZLE, (addr)) 48*c4945b9eSAkinobu Mita #define __test_and_clear_bit_le(nr, addr) \ 49930ae745SAkinobu Mita __test_and_clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr)) 50930ae745SAkinobu Mita 51930ae745SAkinobu Mita #endif /* _ASM_GENERIC_BITOPS_LE_H_ */ 52