Skip to content

Commit bc9d663

Browse files
committed
include/linux: move for_each_bit() macros from bitops.h to find.h
for_each_bit() macros depend on find_bit() machinery, and so the proper place for them is the find.h header. Signed-off-by: Yury Norov <[email protected]> Tested-by: Wolfram Sang <[email protected]>
1 parent 9b51d9d commit bc9d663

File tree

2 files changed

+34
-34
lines changed

2 files changed

+34
-34
lines changed

include/linux/bitops.h

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -32,40 +32,6 @@ extern unsigned long __sw_hweight64(__u64 w);
3232
*/
3333
#include <asm/bitops.h>
3434

35-
#define for_each_set_bit(bit, addr, size) \
36-
for ((bit) = find_first_bit((addr), (size)); \
37-
(bit) < (size); \
38-
(bit) = find_next_bit((addr), (size), (bit) + 1))
39-
40-
/* same as for_each_set_bit() but use bit as value to start with */
41-
#define for_each_set_bit_from(bit, addr, size) \
42-
for ((bit) = find_next_bit((addr), (size), (bit)); \
43-
(bit) < (size); \
44-
(bit) = find_next_bit((addr), (size), (bit) + 1))
45-
46-
#define for_each_clear_bit(bit, addr, size) \
47-
for ((bit) = find_first_zero_bit((addr), (size)); \
48-
(bit) < (size); \
49-
(bit) = find_next_zero_bit((addr), (size), (bit) + 1))
50-
51-
/* same as for_each_clear_bit() but use bit as value to start with */
52-
#define for_each_clear_bit_from(bit, addr, size) \
53-
for ((bit) = find_next_zero_bit((addr), (size), (bit)); \
54-
(bit) < (size); \
55-
(bit) = find_next_zero_bit((addr), (size), (bit) + 1))
56-
57-
/**
58-
* for_each_set_clump8 - iterate over bitmap for each 8-bit clump with set bits
59-
* @start: bit offset to start search and to store the current iteration offset
60-
* @clump: location to store copy of current 8-bit clump
61-
* @bits: bitmap address to base the search on
62-
* @size: bitmap size in number of bits
63-
*/
64-
#define for_each_set_clump8(start, clump, bits, size) \
65-
for ((start) = find_first_clump8(&(clump), (bits), (size)); \
66-
(start) < (size); \
67-
(start) = find_next_clump8(&(clump), (bits), (size), (start) + 8))
68-
6935
static inline int get_bitmask_order(unsigned int count)
7036
{
7137
int order;

include/linux/find.h

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,4 +279,38 @@ unsigned long find_next_bit_le(const void *addr, unsigned
279279
#error "Please fix <asm/byteorder.h>"
280280
#endif
281281

282+
#define for_each_set_bit(bit, addr, size) \
283+
for ((bit) = find_first_bit((addr), (size)); \
284+
(bit) < (size); \
285+
(bit) = find_next_bit((addr), (size), (bit) + 1))
286+
287+
/* same as for_each_set_bit() but use bit as value to start with */
288+
#define for_each_set_bit_from(bit, addr, size) \
289+
for ((bit) = find_next_bit((addr), (size), (bit)); \
290+
(bit) < (size); \
291+
(bit) = find_next_bit((addr), (size), (bit) + 1))
292+
293+
#define for_each_clear_bit(bit, addr, size) \
294+
for ((bit) = find_first_zero_bit((addr), (size)); \
295+
(bit) < (size); \
296+
(bit) = find_next_zero_bit((addr), (size), (bit) + 1))
297+
298+
/* same as for_each_clear_bit() but use bit as value to start with */
299+
#define for_each_clear_bit_from(bit, addr, size) \
300+
for ((bit) = find_next_zero_bit((addr), (size), (bit)); \
301+
(bit) < (size); \
302+
(bit) = find_next_zero_bit((addr), (size), (bit) + 1))
303+
304+
/**
305+
* for_each_set_clump8 - iterate over bitmap for each 8-bit clump with set bits
306+
* @start: bit offset to start search and to store the current iteration offset
307+
* @clump: location to store copy of current 8-bit clump
308+
* @bits: bitmap address to base the search on
309+
* @size: bitmap size in number of bits
310+
*/
311+
#define for_each_set_clump8(start, clump, bits, size) \
312+
for ((start) = find_first_clump8(&(clump), (bits), (size)); \
313+
(start) < (size); \
314+
(start) = find_next_clump8(&(clump), (bits), (size), (start) + 8))
315+
282316
#endif /*__LINUX_FIND_H_ */

0 commit comments

Comments
 (0)