On Sun, Apr 23, 2023 at 05:06:48PM +0800, Yan Wang wrote: > Simplify the code,should not modify its logic. > Fixes: 761b5c30c206 ("gpio: mmio: replace open-coded for_each_set_bit()") What does it fix? ... > for_each_set_bit(i, mask, gc->bgpio_bits) { > - if (test_bit(i, bits)) > - *set_mask |= bgpio_line2mask(gc, i); > - else > - *clear_mask |= bgpio_line2mask(gc, i); > + if (*mask == 0) > + break; Huh?! We never enter here if mask is 0. So, do not add a dead code, please. Moreover, in principle mask can be longer than 1 long, this code simply wrong. NAK > + if (__test_and_clear_bit(i, mask)) { > + if (test_bit(i, bits)) > + *set_mask |= bgpio_line2mask(gc, i); > + else > + *clear_mask |= bgpio_line2mask(gc, i); > + } > } -- With Best Regards, Andy Shevchenko