Implement functions for allocating a bitmap. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> --- include/linux/bitmap.h | 7 +++++++ lib/bitmap.c | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/include/linux/bitmap.h b/include/linux/bitmap.h index adaf5428fe..7d06fac68d 100644 --- a/include/linux/bitmap.h +++ b/include/linux/bitmap.h @@ -80,6 +80,13 @@ * contain all bit positions from 0 to 'bits' - 1. */ +/* + * Allocation and deallocation of bitmap. + * Provided in lib/bitmap.c to avoid circular dependency. + */ +unsigned long *bitmap_zalloc(unsigned int nbits); +unsigned long *bitmap_xzalloc(unsigned int nbits); + /* * lib/bitmap.c provides these functions: */ diff --git a/lib/bitmap.c b/lib/bitmap.c index 5be6651941..dfc0f06b13 100644 --- a/lib/bitmap.c +++ b/lib/bitmap.c @@ -837,3 +837,13 @@ void bitmap_copy_le(void *dst, const unsigned long *src, int nbits) } } EXPORT_SYMBOL(bitmap_copy_le); + +unsigned long *bitmap_zalloc(unsigned int nbits) +{ + return calloc(BITS_TO_LONGS(nbits), sizeof(unsigned long)); +} + +unsigned long *bitmap_xzalloc(unsigned int nbits) +{ + return xzalloc(BITS_TO_LONGS(nbits) * sizeof(unsigned long)); +} -- 2.30.2