Lines Matching refs:nr

52 #define IS_IMMEDIATE(nr)		(__builtin_constant_p(nr))  argument
53 #define CONST_MASK_ADDR(nr, addr) BITOP_ADDR((void *)(addr) + ((nr)>>3)) argument
54 #define CONST_MASK(nr) (1 << ((nr) & 7)) argument
72 set_bit(long nr, volatile unsigned long *addr) in set_bit() argument
74 if (IS_IMMEDIATE(nr)) { in set_bit()
76 : CONST_MASK_ADDR(nr, addr) in set_bit()
77 : "iq" ((u8)CONST_MASK(nr)) in set_bit()
81 : BITOP_ADDR(addr) : "Ir" (nr) : "memory"); in set_bit()
94 static inline void __set_bit(long nr, volatile unsigned long *addr) in __set_bit() argument
96 asm volatile("bts %1,%0" : ADDR : "Ir" (nr) : "memory"); in __set_bit()
110 clear_bit(long nr, volatile unsigned long *addr) in clear_bit() argument
112 if (IS_IMMEDIATE(nr)) { in clear_bit()
114 : CONST_MASK_ADDR(nr, addr) in clear_bit()
115 : "iq" ((u8)~CONST_MASK(nr))); in clear_bit()
119 : "Ir" (nr)); in clear_bit()
131 static inline void clear_bit_unlock(long nr, volatile unsigned long *addr) in clear_bit_unlock() argument
134 clear_bit(nr, addr); in clear_bit_unlock()
137 static inline void __clear_bit(long nr, volatile unsigned long *addr) in __clear_bit() argument
139 asm volatile("btr %1,%0" : ADDR : "Ir" (nr)); in __clear_bit()
154 static inline void __clear_bit_unlock(long nr, volatile unsigned long *addr) in __clear_bit_unlock() argument
157 __clear_bit(nr, addr); in __clear_bit_unlock()
169 static inline void __change_bit(long nr, volatile unsigned long *addr) in __change_bit() argument
171 asm volatile("btc %1,%0" : ADDR : "Ir" (nr)); in __change_bit()
183 static inline void change_bit(long nr, volatile unsigned long *addr) in change_bit() argument
185 if (IS_IMMEDIATE(nr)) { in change_bit()
187 : CONST_MASK_ADDR(nr, addr) in change_bit()
188 : "iq" ((u8)CONST_MASK(nr))); in change_bit()
192 : "Ir" (nr)); in change_bit()
204 static inline int test_and_set_bit(long nr, volatile unsigned long *addr) in test_and_set_bit() argument
206 GEN_BINARY_RMWcc(LOCK_PREFIX "bts", *addr, "Ir", nr, "%0", "c"); in test_and_set_bit()
217 test_and_set_bit_lock(long nr, volatile unsigned long *addr) in test_and_set_bit_lock() argument
219 return test_and_set_bit(nr, addr); in test_and_set_bit_lock()
231 static inline int __test_and_set_bit(long nr, volatile unsigned long *addr) in __test_and_set_bit() argument
238 : "Ir" (nr)); in __test_and_set_bit()
250 static inline int test_and_clear_bit(long nr, volatile unsigned long *addr) in test_and_clear_bit() argument
252 GEN_BINARY_RMWcc(LOCK_PREFIX "btr", *addr, "Ir", nr, "%0", "c"); in test_and_clear_bit()
271 static inline int __test_and_clear_bit(long nr, volatile unsigned long *addr) in __test_and_clear_bit() argument
278 : "Ir" (nr)); in __test_and_clear_bit()
283 static inline int __test_and_change_bit(long nr, volatile unsigned long *addr) in __test_and_change_bit() argument
290 : "Ir" (nr) : "memory"); in __test_and_change_bit()
303 static inline int test_and_change_bit(long nr, volatile unsigned long *addr) in test_and_change_bit() argument
305 GEN_BINARY_RMWcc(LOCK_PREFIX "btc", *addr, "Ir", nr, "%0", "c"); in test_and_change_bit()
308 static __always_inline int constant_test_bit(long nr, const volatile unsigned long *addr) in constant_test_bit() argument
310 return ((1UL << (nr & (BITS_PER_LONG-1))) & in constant_test_bit()
311 (addr[nr >> _BITOPS_LONG_SHIFT])) != 0; in constant_test_bit()
314 static inline int variable_test_bit(long nr, volatile const unsigned long *addr) in variable_test_bit() argument
321 : "m" (*(unsigned long *)addr), "Ir" (nr)); in variable_test_bit()
332 static int test_bit(int nr, const volatile unsigned long *addr);
335 #define test_bit(nr, addr) \ argument
336 (__builtin_constant_p((nr)) \
337 ? constant_test_bit((nr), (addr)) \
338 : variable_test_bit((nr), (addr)))