@@ -458,31 +458,25 @@ unsigned long find_next_bit_le(const void *addr, unsigned
458458#endif
459459
460460#define for_each_set_bit (bit , addr , size ) \
461- for ((bit) = find_next_bit((addr), (size), 0); \
462- (bit) < (size); \
463- (bit) = find_next_bit((addr), (size), (bit) + 1))
461+ for ((bit) = 0; (bit) = find_next_bit((addr), (size), (bit)), (bit) < (size); (bit)++)
464462
465463#define for_each_and_bit (bit , addr1 , addr2 , size ) \
466- for ((bit) = find_next_and_bit((addr1), (addr2), (size), 0); \
467- (bit) < (size); \
468- (bit) = find_next_and_bit((addr1), (addr2), (size), (bit) + 1) )
464+ for ((bit) = 0; \
465+ (bit) = find_next_and_bit((addr1), (addr2), (size), (bit)), (bit) < (size);\
466+ (bit)++ )
469467
470468/* same as for_each_set_bit() but use bit as value to start with */
471469#define for_each_set_bit_from (bit , addr , size ) \
472- for ((bit) = find_next_bit((addr), (size), (bit)); \
473- (bit) < (size); \
474- (bit) = find_next_bit((addr), (size), (bit) + 1))
470+ for (; (bit) = find_next_bit((addr), (size), (bit)), (bit) < (size); (bit)++)
475471
476472#define for_each_clear_bit (bit , addr , size ) \
477- for ((bit) = find_next_zero_bit((addr), (size), 0); \
478- (bit) < (size); \
479- (bit) = find_next_zero_bit((addr), (size), (bit) + 1) )
473+ for ((bit) = 0; \
474+ (bit) = find_next_zero_bit((addr), (size), (bit)), (bit) < (size); \
475+ (bit)++ )
480476
481477/* same as for_each_clear_bit() but use bit as value to start with */
482478#define for_each_clear_bit_from (bit , addr , size ) \
483- for ((bit) = find_next_zero_bit((addr), (size), (bit)); \
484- (bit) < (size); \
485- (bit) = find_next_zero_bit((addr), (size), (bit) + 1))
479+ for (; (bit) = find_next_zero_bit((addr), (size), (bit)), (bit) < (size); (bit)++)
486480
487481/**
488482 * for_each_set_bitrange - iterate over all set bit ranges [b; e)
@@ -492,11 +486,11 @@ unsigned long find_next_bit_le(const void *addr, unsigned
492486 * @size: bitmap size in number of bits
493487 */
494488#define for_each_set_bitrange (b , e , addr , size ) \
495- for ((b) = find_next_bit((addr), (size), 0), \
496- (e) = find_next_zero_bit((addr), (size), (b) + 1); \
489+ for ((b) = 0; \
490+ (b) = find_next_bit((addr), (size), b), \
491+ (e) = find_next_zero_bit((addr), (size), (b) + 1), \
497492 (b) < (size); \
498- (b) = find_next_bit((addr), (size), (e) + 1), \
499- (e) = find_next_zero_bit((addr), (size), (b) + 1))
493+ (b) = (e) + 1)
500494
501495/**
502496 * for_each_set_bitrange_from - iterate over all set bit ranges [b; e)
@@ -506,11 +500,11 @@ unsigned long find_next_bit_le(const void *addr, unsigned
506500 * @size: bitmap size in number of bits
507501 */
508502#define for_each_set_bitrange_from (b , e , addr , size ) \
509- for ((b) = find_next_bit((addr), (size), (b)), \
510- (e) = find_next_zero_bit((addr), (size), (b) + 1); \
503+ for (; \
504+ (b) = find_next_bit((addr), (size), (b)), \
505+ (e) = find_next_zero_bit((addr), (size), (b) + 1), \
511506 (b) < (size); \
512- (b) = find_next_bit((addr), (size), (e) + 1), \
513- (e) = find_next_zero_bit((addr), (size), (b) + 1))
507+ (b) = (e) + 1)
514508
515509/**
516510 * for_each_clear_bitrange - iterate over all unset bit ranges [b; e)
@@ -520,11 +514,11 @@ unsigned long find_next_bit_le(const void *addr, unsigned
520514 * @size: bitmap size in number of bits
521515 */
522516#define for_each_clear_bitrange (b , e , addr , size ) \
523- for ((b) = find_next_zero_bit((addr), (size), 0), \
524- (e) = find_next_bit((addr), (size), (b) + 1); \
517+ for ((b) = 0; \
518+ (b) = find_next_zero_bit((addr), (size), (b)), \
519+ (e) = find_next_bit((addr), (size), (b) + 1), \
525520 (b) < (size); \
526- (b) = find_next_zero_bit((addr), (size), (e) + 1), \
527- (e) = find_next_bit((addr), (size), (b) + 1))
521+ (b) = (e) + 1)
528522
529523/**
530524 * for_each_clear_bitrange_from - iterate over all unset bit ranges [b; e)
@@ -534,11 +528,11 @@ unsigned long find_next_bit_le(const void *addr, unsigned
534528 * @size: bitmap size in number of bits
535529 */
536530#define for_each_clear_bitrange_from (b , e , addr , size ) \
537- for ((b) = find_next_zero_bit((addr), (size), (b)), \
538- (e) = find_next_bit((addr), (size), (b) + 1); \
531+ for (; \
532+ (b) = find_next_zero_bit((addr), (size), (b)), \
533+ (e) = find_next_bit((addr), (size), (b) + 1), \
539534 (b) < (size); \
540- (b) = find_next_zero_bit((addr), (size), (e) + 1), \
541- (e) = find_next_bit((addr), (size), (b) + 1))
535+ (b) = (e) + 1)
542536
543537/**
544538 * for_each_set_bit_wrap - iterate over all set bits starting from @start, and
0 commit comments