Re: [KJ][RFC][PATCH] BIT macro cleanup

From: Milind Arun Choudhary
Date: Sat Feb 24 2007 - 14:11:48 EST


On 12:11 Sat 24 Feb , Vojtech Pavlik wrote:
>
> That would be my only concern - losing compiler warnings.
yes
see
I wanted a single BIT macro which can be used by the whole tree

was looking for a multipurpose one. found it in input.h
so i thought i will put it at a common place

why bitops.h? coz BIT qualifies for a "bitop"
& bitops.h is inclued by kernel.h, hence accessible from every part
of the tree without mucb efforts

now
a> this was written for input user,so they are perfectly happy with it
only change would be now input.h will have
to fetch it from bitops.h..trivial

b> currently almost all other users of BIT are well within the BITS_PER_LONG
limit

c>but it is not sutaible for those who want to go beyond this limit,
as they will not be warned

Now if we have LLBIT which takes care of above case
[& as LLBIT has no wrap it will warn if we go beyond "long long" for
some reason]

So all we need is people to be carefull before passing anything to BIT
& use LLBIT whereever appropriate

so now i think it should be ok to have

#define BIT(nr) (1UL << ((nr) % BITS_PER_LONG))
#define LLBIT(nr) (1ULL << (nr))


thoughts

> > And what about the "1%"?
>
> The 1% will need either LLBIT or an extra % 8.

--
Milind Arun Choudhary
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/