Re: [PATCH v2 4/5] Input: gpio-keys - Switch to bitmap_zalloc()

From: Andy Shevchenko
Date: Sat Jun 16 2018 - 14:50:35 EST


On Sat, Jun 16, 2018 at 1:08 AM Yury Norov <ynorov@xxxxxxxxxxxxxxxxxx> wrote:
>
> On Fri, Jun 15, 2018 at 04:20:16PM +0300, Andy Shevchenko wrote:
> > External Email
> >
> > Switch to bitmap_zalloc() to show clearly what we are allocating.
> > Besides that it returns pointer of bitmap type instead of opaque void *.
>
> Nit. There's no special type for bitmaps, bitmap_zalloc() returns long *.
> Is it less opaque than void *, not sure.

Yes, it enables type checking by compiler, which is good thing.
You can't supply other pointer to this API, like

unsigned char *bar = kmalloc(BITS_PER_LONGS(nbits) * sizeof(unsigned
long), GFP_KERNEL);
...

bitmap_free(bar); //<< compiler will not pass this silently!

Or other way around:

unsigned char *foo = bitmap_alloc(nbits, GFP_KERNEL); //<< wrong types!

--
With Best Regards,
Andy Shevchenko