On Sat, Jan 12, 2019 at 3:47 AM William Breathitt Gray <vilhelm.gray@xxxxxxxxx> wrote: > > This macro iterates for each 8-bit group of bits (clump) with set bits, > within a bitmap memory region. For each iteration, "start" is set to the > bit offset of the found clump, while the respective clump value is > stored to the location pointed by "clump". Additionally, the > bitmap_get_value8 and bitmap_set_value8 functions are introduced to > respectively get and set an 8-bit value in a bitmap memory region. > +unsigned int bitmap_get_value8(const unsigned long *const bitmap, > + const unsigned int start); Hmm... Shouldn't be returned value of type unsigned long for sake of consistency? > +/** > + * bitmap_set_value8 - set an 8-bit value within a memory region > + * @bitmap: address to the bitmap memory region > + * @value: the 8-bit value Put the same warning here as you did in cover letter > + * @start: bit offset of the 8-bit value > + */ > +void bitmap_set_value8(unsigned long *const bitmap, > + const unsigned long value, > + const unsigned int start) > +{ > + const size_t index = BIT_WORD(start); > + const unsigned int offset = start % BITS_PER_LONG; > + const unsigned long mask = GENMASK(7, offset); > + > + bitmap[index] &= ~mask; > + bitmap[index] |= value << offset; > +} -- With Best Regards, Andy Shevchenko