Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 #ifndef _ASM_GENERIC_BITOPS_LE_H_
  2 #define _ASM_GENERIC_BITOPS_LE_H_
  3 
  4 #include <asm/types.h>
  5 #include <asm/byteorder.h>
  6 
  7 #define BITOP_WORD(nr)          ((nr) / BITS_PER_LONG)
  8 #define BITOP_LE_SWIZZLE        ((BITS_PER_LONG-1) & ~0x7)
  9 
 10 #if defined(__LITTLE_ENDIAN)
 11 
 12 #define generic_test_le_bit(nr, addr) test_bit(nr, addr)
 13 #define generic___set_le_bit(nr, addr) __set_bit(nr, addr)
 14 #define generic___clear_le_bit(nr, addr) __clear_bit(nr, addr)
 15 
 16 #define generic_test_and_set_le_bit(nr, addr) test_and_set_bit(nr, addr)
 17 #define generic_test_and_clear_le_bit(nr, addr) test_and_clear_bit(nr, addr)
 18 
 19 #define generic___test_and_set_le_bit(nr, addr) __test_and_set_bit(nr, addr)
 20 #define generic___test_and_clear_le_bit(nr, addr) __test_and_clear_bit(nr, addr)
 21 
 22 #define generic_find_next_zero_le_bit(addr, size, offset) find_next_zero_bit(addr, size, offset)
 23 #define generic_find_next_le_bit(addr, size, offset) \
 24                         find_next_bit(addr, size, offset)
 25 
 26 #elif defined(__BIG_ENDIAN)
 27 
 28 #define generic_test_le_bit(nr, addr) \
 29         test_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
 30 #define generic___set_le_bit(nr, addr) \
 31         __set_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
 32 #define generic___clear_le_bit(nr, addr) \
 33         __clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
 34 
 35 #define generic_test_and_set_le_bit(nr, addr) \
 36         test_and_set_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
 37 #define generic_test_and_clear_le_bit(nr, addr) \
 38         test_and_clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
 39 
 40 #define generic___test_and_set_le_bit(nr, addr) \
 41         __test_and_set_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
 42 #define generic___test_and_clear_le_bit(nr, addr) \
 43         __test_and_clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
 44 
 45 extern unsigned long generic_find_next_zero_le_bit(const unsigned long *addr,
 46                 unsigned long size, unsigned long offset);
 47 extern unsigned long generic_find_next_le_bit(const unsigned long *addr,
 48                 unsigned long size, unsigned long offset);
 49 
 50 #else
 51 #error "Please fix <asm/byteorder.h>"
 52 #endif
 53 
 54 #define generic_find_first_zero_le_bit(addr, size) \
 55         generic_find_next_zero_le_bit((addr), (size), 0)
 56 
 57 #endif /* _ASM_GENERIC_BITOPS_LE_H_ */
 58 
  This page was automatically generated by the LXR engine.