Commit | Line | Data |
---|---|---|
c7f612cd AM |
1 | #ifndef _ASM_GENERIC_BITOPS_FIND_H_ |
2 | #define _ASM_GENERIC_BITOPS_FIND_H_ | |
3 | ||
19de85ef | 4 | #ifndef find_next_bit |
d852a6af AM |
5 | /** |
6 | * find_next_bit - find the next set bit in a memory region | |
7 | * @addr: The address to base the search on | |
8 | * @offset: The bitnumber to start searching at | |
9 | * @size: The bitmap size in bits | |
10 | */ | |
c7f612cd AM |
11 | extern unsigned long find_next_bit(const unsigned long *addr, unsigned long |
12 | size, unsigned long offset); | |
19de85ef | 13 | #endif |
c7f612cd | 14 | |
19de85ef | 15 | #ifndef find_next_zero_bit |
d852a6af AM |
16 | /** |
17 | * find_next_zero_bit - find the next cleared bit in a memory region | |
18 | * @addr: The address to base the search on | |
19 | * @offset: The bitnumber to start searching at | |
20 | * @size: The bitmap size in bits | |
21 | */ | |
c7f612cd AM |
22 | extern unsigned long find_next_zero_bit(const unsigned long *addr, unsigned |
23 | long size, unsigned long offset); | |
19de85ef | 24 | #endif |
c7f612cd | 25 | |
708ff2a0 AM |
26 | #ifdef CONFIG_GENERIC_FIND_FIRST_BIT |
27 | ||
28 | /** | |
29 | * find_first_bit - find the first set bit in a memory region | |
30 | * @addr: The address to start the search at | |
31 | * @size: The maximum size to search | |
32 | * | |
33 | * Returns the bit number of the first set bit. | |
34 | */ | |
35 | extern unsigned long find_first_bit(const unsigned long *addr, | |
36 | unsigned long size); | |
37 | ||
38 | /** | |
39 | * find_first_zero_bit - find the first cleared bit in a memory region | |
40 | * @addr: The address to start the search at | |
41 | * @size: The maximum size to search | |
42 | * | |
43 | * Returns the bit number of the first cleared bit. | |
44 | */ | |
45 | extern unsigned long find_first_zero_bit(const unsigned long *addr, | |
46 | unsigned long size); | |
47 | #else /* CONFIG_GENERIC_FIND_FIRST_BIT */ | |
48 | ||
c7f612cd AM |
49 | #define find_first_bit(addr, size) find_next_bit((addr), (size), 0) |
50 | #define find_first_zero_bit(addr, size) find_next_zero_bit((addr), (size), 0) | |
51 | ||
708ff2a0 AM |
52 | #endif /* CONFIG_GENERIC_FIND_FIRST_BIT */ |
53 | ||
c7f612cd | 54 | #endif /*_ASM_GENERIC_BITOPS_FIND_H_ */ |