[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <3b44d3fb0703300531l6293e792y94d4f16e43652fb5@mail.gmail.com>
Date: Fri, 30 Mar 2007 18:01:03 +0530
From: "Milind Arun Choudhary" <milindchoudhary@...il.com>
To: "Richard Knutsson" <ricknu-0@...dent.ltu.se>,
"Alexey Dobriyan" <adobriyan@...il.com>
Cc: kernel-janitors@...ts.osdl.org, linux-kernel@...r.kernel.org,
akpm@...ux-foundation.org, dmitry.torokhov@...il.com,
linux-input@...ey.karlin.mff.cuni.cz,
linux-joystick@...ey.karlin.mff.cuni.cz
Subject: Re: [KJ][PATCH] BIT macro cleanup
On 3/29/07, Richard Knutsson <ricknu-0@...dent.ltu.se> wrote:
> Alexey Dobriyan wrote:
> > On Wed, Mar 28, 2007 at 09:03:09AM +0530, Milind Arun Choudhary wrote:
> >
> >> +#define BIT(nr) (1UL << ((nr) % BITS_PER_LONG))
> >>
> >
> > I think this would be a disaster because something like
> >
> > BIT(123)
> >
> > would not even generate a warning.
> >
> There were a discussion on this, at KJ, when BIT was first used with a
> modular operation. I said the same thing as you do now, but a big user
> of BIT is the input-subsystem who defined their BIT as above. Also it
> was mentioned that the compiler can only find the statical errors, a
> variable input can break it in runtime.
> + if we _really_ want to check the tree for such warnings, it is easy to
> remove the modular operation temporarily (and keep away of input/)
>
> I don't say I like this, just that it is a choose between possible errors.
as discussed in earlier thread there are two kinds of users of BIT
1. input sybsystem which needs the "% BITS_PER_LONG"
2. & all other who don't, so that they are warned when the bit no overflows
I think a simple macro cant serve both the purposes
so IMHO there should be two macros
+#define BIT(nr) (1UL << (nr))
which server the first case
&
+#define XXXBITXXX(nr) (1UL << ((nr) % BITS_PER_LONG))
for input users
earlier i suggested a name BITWRAP
but some people hate it i think
'm fine with any other name as well
inputs....suggest a name
so that we can still keep these two macros (along with LLBIT) in
bitops.h & use apporpriately
only hassle is the whole input tree is to be searched & replaced for BIT
is this OK
--
Milind Arun Choudhary
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists