diff options
author | Jonathan Corbet <corbet@lwn.net> | 2024-09-05 14:01:38 -0600 |
---|---|---|
committer | Jonathan Corbet <corbet@lwn.net> | 2024-09-05 14:01:38 -0600 |
commit | d224338aa105bf3c4c4aa8b2ccdbd675c71ffbfe (patch) | |
tree | b7b6b8c98595c89f7ad5307120cb3156708991bc /include/linux/bitmap.h | |
parent | eb5ed2fae19745fcb7dd0dcfbfbcd8b2847bc5c1 (diff) | |
parent | 431c1646e1f86b949fa3685efc50b660a364c2b6 (diff) | |
download | lwn-d224338aa105bf3c4c4aa8b2ccdbd675c71ffbfe.tar.gz lwn-d224338aa105bf3c4c4aa8b2ccdbd675c71ffbfe.zip |
Merge tag 'v6.11-rc6' into docs-mw
This is done primarily to get a docs build fix merged via another tree so
that "make htmldocs" stops failing.
Diffstat (limited to 'include/linux/bitmap.h')
-rw-r--r-- | include/linux/bitmap.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/bitmap.h b/include/linux/bitmap.h index 8c4768c44a01..d3b66d77df7a 100644 --- a/include/linux/bitmap.h +++ b/include/linux/bitmap.h @@ -270,6 +270,18 @@ static inline void bitmap_copy_clear_tail(unsigned long *dst, dst[nbits / BITS_PER_LONG] &= BITMAP_LAST_WORD_MASK(nbits); } +static inline void bitmap_copy_and_extend(unsigned long *to, + const unsigned long *from, + unsigned int count, unsigned int size) +{ + unsigned int copy = BITS_TO_LONGS(count); + + memcpy(to, from, copy * sizeof(long)); + if (count % BITS_PER_LONG) + to[copy - 1] &= BITMAP_LAST_WORD_MASK(count); + memset(to + copy, 0, bitmap_size(size) - copy * sizeof(long)); +} + /* * On 32-bit systems bitmaps are represented as u32 arrays internally. On LE64 * machines the order of hi and lo parts of numbers match the bitmap structure. |