Lines Matching refs:bit

118 	int bit;
120 for (bit = 0; size >= BITS_PER_LONG;
121 size -= BITS_PER_LONG, bit += BITS_PER_LONG, addr++) {
124 return (bit + __ffsl(*addr));
129 bit += __ffsl(mask);
131 bit += size;
133 return (bit);
140 int bit;
142 for (bit = 0; size >= BITS_PER_LONG;
143 size -= BITS_PER_LONG, bit += BITS_PER_LONG, addr++) {
146 return (bit + __ffsl(~(*addr)));
151 bit += __ffsl(mask);
153 bit += size;
155 return (bit);
163 int bit;
168 bit = BITS_PER_LONG * pos;
173 return (bit + __flsl(mask));
177 bit -= BITS_PER_LONG;
179 return (bit + __flsl(*addr));
189 int bit;
196 bit = BITS_PER_LONG * pos;
201 return (bit + __ffsl(mask));
202 if (size - bit <= BITS_PER_LONG)
204 bit += BITS_PER_LONG;
207 for (size -= bit; size >= BITS_PER_LONG;
208 size -= BITS_PER_LONG, bit += BITS_PER_LONG, addr++) {
211 return (bit + __ffsl(*addr));
216 bit += __ffsl(mask);
218 bit += size;
220 return (bit);
229 int bit;
236 bit = BITS_PER_LONG * pos;
241 return (bit + __ffsl(mask));
242 if (size - bit <= BITS_PER_LONG)
244 bit += BITS_PER_LONG;
247 for (size -= bit; size >= BITS_PER_LONG;
248 size -= BITS_PER_LONG, bit += BITS_PER_LONG, addr++) {
251 return (bit + __ffsl(~(*addr)));
256 bit += __ffsl(mask);
258 bit += size;
260 return (bit);
279 test_and_clear_bit(long bit, volatile unsigned long *var)
283 var += BIT_WORD(bit);
284 bit %= BITS_PER_LONG;
285 bit = (1UL << bit);
288 while (!atomic_fcmpset_long(var, &val, val & ~bit))
290 return !!(val & bit);
294 __test_and_clear_bit(long bit, volatile unsigned long *var)
298 var += BIT_WORD(bit);
299 bit %= BITS_PER_LONG;
300 bit = (1UL << bit);
303 *var &= ~bit;
305 return !!(val & bit);
309 test_and_set_bit(long bit, volatile unsigned long *var)
313 var += BIT_WORD(bit);
314 bit %= BITS_PER_LONG;
315 bit = (1UL << bit);
318 while (!atomic_fcmpset_long(var, &val, val | bit))
320 return !!(val & bit);
324 __test_and_set_bit(long bit, volatile unsigned long *var)
328 var += BIT_WORD(bit);
329 bit %= BITS_PER_LONG;
330 bit = (1UL << bit);
333 *var |= bit;
335 return !!(val & bit);
389 #define for_each_set_bit(bit, addr, size) \
390 for ((bit) = find_first_bit((addr), (size)); \
391 (bit) < (size); \
392 (bit) = find_next_bit((addr), (size), (bit) + 1))
394 #define for_each_clear_bit(bit, addr, size) \
395 for ((bit) = find_first_zero_bit((addr), (size)); \
396 (bit) < (size); \
397 (bit) = find_next_zero_bit((addr), (size), (bit) + 1))