Messages in this thread Patch in this message | | | From | Andy Shevchenko <> | Subject | [PATCH v1 1/2] bitmap: Use constants and macros from bits.h | Date | Thu, 17 Aug 2023 19:54:52 +0300 |
| |
Use BITS_PER_LONG and BITS_PER_BYTE for BITMAP_MEM_ALIGNMENT. Calculate bytes from bits for memcmp() and memset() with BITS_TO_BYTES().
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- include/linux/bitmap.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/include/linux/bitmap.h b/include/linux/bitmap.h index 1516ff979315..2d5042d1b501 100644 --- a/include/linux/bitmap.h +++ b/include/linux/bitmap.h @@ -354,9 +354,9 @@ static inline void bitmap_complement(unsigned long *dst, const unsigned long *sr } #ifdef __LITTLE_ENDIAN -#define BITMAP_MEM_ALIGNMENT 8 +#define BITMAP_MEM_ALIGNMENT BITS_PER_BYTE #else -#define BITMAP_MEM_ALIGNMENT (8 * sizeof(unsigned long)) +#define BITMAP_MEM_ALIGNMENT BITS_PER_LONG #endif #define BITMAP_MEM_MASK (BITMAP_MEM_ALIGNMENT - 1) @@ -367,7 +367,7 @@ static inline bool bitmap_equal(const unsigned long *src1, return !((*src1 ^ *src2) & BITMAP_LAST_WORD_MASK(nbits)); if (__builtin_constant_p(nbits & BITMAP_MEM_MASK) && IS_ALIGNED(nbits, BITMAP_MEM_ALIGNMENT)) - return !memcmp(src1, src2, nbits / 8); + return !memcmp(src1, src2, BITS_TO_BYTES(nbits)); return __bitmap_equal(src1, src2, nbits); } @@ -454,7 +454,7 @@ static __always_inline void bitmap_set(unsigned long *map, unsigned int start, IS_ALIGNED(start, BITMAP_MEM_ALIGNMENT) && __builtin_constant_p(nbits & BITMAP_MEM_MASK) && IS_ALIGNED(nbits, BITMAP_MEM_ALIGNMENT)) - memset((char *)map + start / 8, 0xff, nbits / 8); + memset((char *)map + BITS_TO_BYTES(start), 0xff, BITS_TO_BYTES(nbits)); else __bitmap_set(map, start, nbits); } @@ -470,7 +470,7 @@ static __always_inline void bitmap_clear(unsigned long *map, unsigned int start, IS_ALIGNED(start, BITMAP_MEM_ALIGNMENT) && __builtin_constant_p(nbits & BITMAP_MEM_MASK) && IS_ALIGNED(nbits, BITMAP_MEM_ALIGNMENT)) - memset((char *)map + start / 8, 0, nbits / 8); + memset((char *)map + BITS_TO_BYTES(start), 0x00, BITS_TO_BYTES(nbits)); else __bitmap_clear(map, start, nbits); } -- 2.40.0.1.gaa8946217a0b
| |