Lines Matching refs:addr

19 unsigned long _find_next_zero_bit(const unsigned long *addr, unsigned long nbits,
21 extern unsigned long _find_first_bit(const unsigned long *addr, unsigned long size);
22 unsigned long __find_nth_bit(const unsigned long *addr, unsigned long size, unsigned long n);
32 extern unsigned long _find_first_zero_bit(const unsigned long *addr, unsigned long size);
33 extern unsigned long _find_last_bit(const unsigned long *addr, unsigned long size);
36 unsigned long _find_first_zero_bit_le(const unsigned long *addr, unsigned long size);
37 unsigned long _find_next_zero_bit_le(const unsigned long *addr, unsigned
39 unsigned long _find_next_bit_le(const unsigned long *addr, unsigned
46 * @addr: The address to base the search on
54 unsigned long find_next_bit(const unsigned long *addr, unsigned long size,
63 val = *addr & GENMASK(size - 1, offset);
67 return _find_next_bit(addr, size, offset);
165 * @addr: The address to base the search on
173 unsigned long find_next_zero_bit(const unsigned long *addr, unsigned long size,
182 val = *addr | ~GENMASK(size - 1, offset);
186 return _find_next_zero_bit(addr, size, offset);
193 * @addr: The address to start the search at
200 unsigned long find_first_bit(const unsigned long *addr, unsigned long size)
203 unsigned long val = *addr & GENMASK(size - 1, 0);
208 return _find_first_bit(addr, size);
214 * @addr: The address to start the search at
219 * idx = find_nth_bit(addr, size, 0);
220 * idx = find_first_bit(addr, size);
226 unsigned long find_nth_bit(const unsigned long *addr, unsigned long size, unsigned long n)
232 unsigned long val = *addr & GENMASK(size - 1, 0);
237 return __find_nth_bit(addr, size, n);
351 * @addr: The address to start the search at
358 unsigned long find_first_zero_bit(const unsigned long *addr, unsigned long size)
361 unsigned long val = *addr | ~GENMASK(size - 1, 0);
366 return _find_first_zero_bit(addr, size);
373 * @addr: The address to start the search at
379 unsigned long find_last_bit(const unsigned long *addr, unsigned long size)
382 unsigned long val = *addr & GENMASK(size - 1, 0);
387 return _find_last_bit(addr, size);
417 * @addr: The address to base the search on
425 unsigned long find_next_bit_wrap(const unsigned long *addr,
428 unsigned long bit = find_next_bit(addr, size, offset);
433 bit = find_first_bit(addr, offset);
466 * @addr: address to base the search on
474 const unsigned long *addr,
482 static inline unsigned long find_next_zero_bit_le(const void *addr,
485 return find_next_zero_bit(addr, size, offset);
488 static inline unsigned long find_next_bit_le(const void *addr,
491 return find_next_bit(addr, size, offset);
494 static inline unsigned long find_first_zero_bit_le(const void *addr,
497 return find_first_zero_bit(addr, size);
504 unsigned long find_next_zero_bit_le(const void *addr, unsigned
508 unsigned long val = *(const unsigned long *)addr;
517 return _find_next_zero_bit_le(addr, size, offset);
523 unsigned long find_first_zero_bit_le(const void *addr, unsigned long size)
526 unsigned long val = swab(*(const unsigned long *)addr) | ~GENMASK(size - 1, 0);
531 return _find_first_zero_bit_le(addr, size);
537 unsigned long find_next_bit_le(const void *addr, unsigned
541 unsigned long val = *(const unsigned long *)addr;
550 return _find_next_bit_le(addr, size, offset);
558 #define for_each_set_bit(bit, addr, size) \
559 for ((bit) = 0; (bit) = find_next_bit((addr), (size), (bit)), (bit) < (size); (bit)++)
577 #define for_each_set_bit_from(bit, addr, size) \
578 for (; (bit) = find_next_bit((addr), (size), (bit)), (bit) < (size); (bit)++)
580 #define for_each_clear_bit(bit, addr, size) \
582 (bit) = find_next_zero_bit((addr), (size), (bit)), (bit) < (size); \
586 #define for_each_clear_bit_from(bit, addr, size) \
587 for (; (bit) = find_next_zero_bit((addr), (size), (bit)), (bit) < (size); (bit)++)
593 * @addr: bitmap address to base the search on
596 #define for_each_set_bitrange(b, e, addr, size) \
598 (b) = find_next_bit((addr), (size), b), \
599 (e) = find_next_zero_bit((addr), (size), (b) + 1), \
607 * @addr: bitmap address to base the search on
610 #define for_each_set_bitrange_from(b, e, addr, size) \
612 (b) = find_next_bit((addr), (size), (b)), \
613 (e) = find_next_zero_bit((addr), (size), (b) + 1), \
621 * @addr: bitmap address to base the search on
624 #define for_each_clear_bitrange(b, e, addr, size) \
626 (b) = find_next_zero_bit((addr), (size), (b)), \
627 (e) = find_next_bit((addr), (size), (b) + 1), \
635 * @addr: bitmap address to base the search on
638 #define for_each_clear_bitrange_from(b, e, addr, size) \
640 (b) = find_next_zero_bit((addr), (size), (b)), \
641 (e) = find_next_bit((addr), (size), (b) + 1), \
649 * @addr: bitmap address to base the search on
653 #define for_each_set_bit_wrap(bit, addr, size, start) \
654 for ((bit) = find_next_bit_wrap((addr), (size), (start)); \
656 (bit) = __for_each_wrap((addr), (size), (start), (bit) + 1))