Messages in this thread | | | Date | Fri, 1 Jun 2018 11:33:43 -0700 | From | Dmitry Torokhov <> | Subject | Re: [PATCH v1 1/3] bitmap: Add bitmap_alloc(), bitmap_zalloc() and bitmap_free() |
| |
Hi Andy,
On Fri, Jun 01, 2018 at 11:31:18AM +0300, Andy Shevchenko wrote: > A lot of code become ugly because of open coding allocations for bitmaps. > > Introduce three helpers to allow users be more clear of intention > and keep their code neat. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
This looks nice and I like how it simplifies drivers. How do we merge this?
> --- > include/linux/bitmap.h | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/include/linux/bitmap.h b/include/linux/bitmap.h > index 1ee46f492267..845822425393 100644 > --- a/include/linux/bitmap.h > +++ b/include/linux/bitmap.h > @@ -6,6 +6,7 @@ > > #include <linux/types.h> > #include <linux/bitops.h> > +#include <linux/slab.h> > #include <linux/string.h> > #include <linux/kernel.h> > > @@ -104,6 +105,21 @@ > * contain all bit positions from 0 to 'bits' - 1. > */ > > +static inline unsigned long *bitmap_alloc(unsigned int nbits, gfp_t flags) > +{ > + return kmalloc_array(BITS_TO_LONGS(nbits), sizeof(unsigned long), flags); > +} > + > +static inline unsigned long *bitmap_zalloc(unsigned int nbits, gfp_t flags) > +{ > + return kcalloc(BITS_TO_LONGS(nbits), sizeof(unsigned long), flags);
retrun bitmap_alloc(nbits, flags | __GFP_ZERO);
?
> +} > + > +static inline void bitmap_free(const unsigned long *bitmap) > +{ > + kfree(bitmap); > +} > + > /* > * lib/bitmap.c provides these functions: > */ > -- > 2.17.0 >
Thanks.
-- Dmitry
| |