[PATCH v7 1/5] lib/bitmap: add bitmap_{read,write}()
Andy Shevchenko
andriy.shevchenko at linux.intel.com
Wed Oct 11 10:59:59 PDT 2023
On Wed, Oct 11, 2023 at 07:28:31PM +0200, Alexander Potapenko wrote:
> From: Syed Nayyar Waris <syednwaris at gmail.com>
>
> The two new functions allow reading/writing values of length up to
> BITS_PER_LONG bits at arbitrary position in the bitmap.
>
> The code was taken from "bitops: Introduce the for_each_set_clump macro"
> by Syed Nayyar Waris with a number of changes and simplifications:
> - instead of using roundup(), which adds an unnecessary dependency
> on <linux/math.h>, we calculate space as BITS_PER_LONG-offset;
> - indentation is reduced by not using else-clauses (suggested by
> checkpatch for bitmap_get_value());
> - bitmap_get_value()/bitmap_set_value() are renamed to bitmap_read()
> and bitmap_write();
> - some redundant computations are omitted.
I realized that the corner case with these functions is when agnostic user
wants to read / write > 32 bits at a time without ifdeffery applied.
At bare minimum this has to be documented explicitly, that callers
may have an issue of the above calls on 32-bit platforms.
--
With Best Regards,
Andy Shevchenko
More information about the linux-arm-kernel
mailing list