Lines Matching refs:nr
12 #define BYTE_NUMBER(nr) ((nr ^ BITOP_LE_SWIZZLE) / BITS_PER_BYTE)
13 #define BYTE_OFFSET(nr) ((nr ^ BITOP_LE_SWIZZLE) % BITS_PER_BYTE)
15 #define BYTE_NUMBER(nr) ((nr) / BITS_PER_BYTE)
16 #define BYTE_OFFSET(nr) ((nr) % BITS_PER_BYTE)
19 static inline void __set_bit(int nr, volatile unsigned long *addr)
21 if (__builtin_constant_p(nr)) {
25 : "i" (BYTE_OFFSET(nr)), "i" (BYTE_NUMBER(nr))
29 unsigned long mask = BIT_MASK(nr);
30 unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr);
36 static inline void __clear_bit(int nr, volatile unsigned long *addr)
38 if (__builtin_constant_p(nr)) {
42 : "i" (BYTE_OFFSET(nr)),
43 "i" (BYTE_NUMBER(nr))
47 unsigned long mask = BIT_MASK(nr);
48 unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr);
56 * @nr: the bit to change
63 static inline void __change_bit(int nr, volatile unsigned long *addr)
65 if (__builtin_constant_p(nr)) {
69 : "i" (BYTE_OFFSET(nr)),
70 "i" (BYTE_NUMBER(nr))
74 unsigned long mask = BIT_MASK(nr);
75 unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr);
83 * @nr: Bit to set
90 static inline int __test_and_set_bit(int nr, volatile unsigned long *addr)
92 unsigned long mask = BIT_MASK(nr);
93 unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr);
102 * @nr: Bit to clear
109 static inline int __test_and_clear_bit(int nr, volatile unsigned long *addr)
111 unsigned long mask = BIT_MASK(nr);
112 unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr);
120 static inline int __test_and_change_bit(int nr,
123 unsigned long mask = BIT_MASK(nr);
124 unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr);
133 * @nr: bit number to test
136 static inline int test_bit(int nr, const volatile unsigned long *addr)
138 return 1UL & (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1)));