26,6 → 26,23 |
(bit) < (size); \ |
(bit) = find_next_bit((addr), (size), (bit) + 1)) |
|
/* same as for_each_set_bit() but use bit as value to start with */ |
#define for_each_set_bit_from(bit, addr, size) \ |
for ((bit) = find_next_bit((addr), (size), (bit)); \ |
(bit) < (size); \ |
(bit) = find_next_bit((addr), (size), (bit) + 1)) |
|
#define for_each_clear_bit(bit, addr, size) \ |
for ((bit) = find_first_zero_bit((addr), (size)); \ |
(bit) < (size); \ |
(bit) = find_next_zero_bit((addr), (size), (bit) + 1)) |
|
/* same as for_each_clear_bit() but use bit as value to start with */ |
#define for_each_clear_bit_from(bit, addr, size) \ |
for ((bit) = find_next_zero_bit((addr), (size), (bit)); \ |
(bit) < (size); \ |
(bit) = find_next_zero_bit((addr), (size), (bit) + 1)) |
|
static __inline__ int get_bitmask_order(unsigned int count) |
{ |
int order; |
50,6 → 67,26 |
} |
|
/** |
* rol64 - rotate a 64-bit value left |
* @word: value to rotate |
* @shift: bits to roll |
*/ |
static inline __u64 rol64(__u64 word, unsigned int shift) |
{ |
return (word << shift) | (word >> (64 - shift)); |
} |
|
/** |
* ror64 - rotate a 64-bit value right |
* @word: value to rotate |
* @shift: bits to roll |
*/ |
static inline __u64 ror64(__u64 word, unsigned int shift) |
{ |
return (word >> shift) | (word << (64 - shift)); |
} |
|
/** |
* rol32 - rotate a 32-bit value left |
* @word: value to rotate |
* @shift: bits to roll |