Re: [PATCH] bitops: add equivalent of BIT(x) for bitfields

From: Sebastian Frias
Date: Mon Dec 05 2016 - 12:47:45 EST


On 05/12/16 18:13, Linus Torvalds wrote:
> On Mon, Dec 5, 2016 at 5:36 AM, Sebastian Frias <sf84@xxxxxxxxxxx> wrote:
>> Introduce SETBITFIELD(msb, lsb, value) macro to ease dealing with
>> continuous bitfields, just as BIT(x) does for single bits.
>>
>> SETBITFIELD_ULL(msb, lsb, value) macro is also added.
>
> No. No, no, no.
>
> Didn't we have this discussion already? Or was that for one of the
> other silly naming things?
>
> That thing doesn't "SET" anything at all. It generates a value, nothing more.
>
> So the name is completely unacceptable. It follows the convention of
> GENMASK, so maybe GENVALUE?
>

Thanks for your input.
I was looking for suggestions on the name, thanks for yours, I will submit
a v2 with the name changed as you proposed.

> I also absolutely hate the stupid "big bit first" idiocy, but we did
> that for GENMASK too, so I guess we're stuck with that retarded model.
>

Yes, I followed the same convention.

> Yes, I understand why it happened - people look at register definition
> graphics, and the high bits are to the left.
>
> But when you then read the documentation, it will still say things
> like "bits 9 through 12 contain the value XYZ", because while
> individual numbers are written MSB first, we actuall _read_ left to
> right. You'd never give a range as "12 to 5", you'd say "5 to 12".
>
> Linus
>