bitmap: use for_each_set_bit()
Replace open-coded loop with for_each_set_bit(). Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
9a86e2bad0
Коммит
08564fb7ab
13
lib/bitmap.c
13
lib/bitmap.c
|
@ -733,10 +733,9 @@ void bitmap_remap(unsigned long *dst, const unsigned long *src,
|
|||
bitmap_zero(dst, bits);
|
||||
|
||||
w = bitmap_weight(new, bits);
|
||||
for (oldbit = find_first_bit(src, bits);
|
||||
oldbit < bits;
|
||||
oldbit = find_next_bit(src, bits, oldbit + 1)) {
|
||||
for_each_set_bit(oldbit, src, bits) {
|
||||
int n = bitmap_pos_to_ord(old, oldbit, bits);
|
||||
|
||||
if (n < 0 || w == 0)
|
||||
set_bit(oldbit, dst); /* identity map */
|
||||
else
|
||||
|
@ -903,9 +902,7 @@ void bitmap_onto(unsigned long *dst, const unsigned long *orig,
|
|||
*/
|
||||
|
||||
m = 0;
|
||||
for (n = find_first_bit(relmap, bits);
|
||||
n < bits;
|
||||
n = find_next_bit(relmap, bits, n + 1)) {
|
||||
for_each_set_bit(n, relmap, bits) {
|
||||
/* m == bitmap_pos_to_ord(relmap, n, bits) */
|
||||
if (test_bit(m, orig))
|
||||
set_bit(n, dst);
|
||||
|
@ -934,9 +931,7 @@ void bitmap_fold(unsigned long *dst, const unsigned long *orig,
|
|||
return;
|
||||
bitmap_zero(dst, bits);
|
||||
|
||||
for (oldbit = find_first_bit(orig, bits);
|
||||
oldbit < bits;
|
||||
oldbit = find_next_bit(orig, bits, oldbit + 1))
|
||||
for_each_set_bit(oldbit, orig, bits)
|
||||
set_bit(oldbit % sz, dst);
|
||||
}
|
||||
EXPORT_SYMBOL(bitmap_fold);
|
||||
|
|
Загрузка…
Ссылка в новой задаче