Re: [PATCH 2/6] bitmap: move some macros from linux/bitmap.h to linux/bitops.h

From: Yury Norov
Date: Thu Jan 21 2021 - 15:40:19 EST


On Thu, Jan 21, 2021 at 2:18 AM Andy Shevchenko
<andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:
>
> On Wed, Jan 20, 2021 at 04:06:26PM -0800, Yury Norov wrote:
> > In the following patches of the series they are used by
> > find_bit subsystem.
>
> s/subsystem/API/
>
> ...
>
> > --- a/include/linux/bitops.h
> > +++ b/include/linux/bitops.h
> > @@ -7,6 +7,17 @@
> >
> > #include <uapi/linux/kernel.h>
> >
> > +#define BITMAP_FIRST_WORD_MASK(start) (~0UL << ((start) & (BITS_PER_LONG - 1)))
> > +#define BITMAP_LAST_WORD_MASK(nbits) (~0UL >> (-(nbits) & (BITS_PER_LONG - 1)))
>
> Hmm... Naming here is not in the bitops namespace.
> I would expect BITS rather than BITMAP for these two.
>
> So, we have at least the following options:
> - split to a separate header, like bitmap_macros.h
> - s/BITMAP/BITS/ and either define BITMAP_* as respective BITS_* or rename it
> everywhere in bitmap.*
> - your variant
> - ...???...

We have GENMASK in linux/bits.h. I think we should use it here and
drop local ones.
It will also cover the case of OFFSET macro that you suggested in
your comment to
patch #5.