On 2/23/07, Richard Knutsson [off-list ref] wrote:
quoted
+#define BITWRAP(nr) (1UL << ((nr) % BITS_PER_LONG))
& make the whole input subsystem use it
The change is huge, more than 125 files using input.h
& almost all use the BIT macro.
It is as a big of change, but have you dismissed the "BIT(nr %
BITS_PER_LONG)" approach?
no..
but just looking at the number of places it is being used,
it seems that adding a new macro would be good
which makes it look short n sweet
I really think this has to be broken down into a patch-set.
yes
quoted
-#define BIT(i) (1UL << ((i)&(__NFDBITS-1)))
Are you sure you can just delete this one?
yes...no users in this file
<snip>
quoted
diff --git a/include/linux/input.h b/include/linux/input.h
index bde65c8..e4203d1 100644
--- a/include/linux/input.h
+++ b/include/linux/input.h
@@ -908,9 +908,11 @@ struct ff_effect {#include <linux/fs.h>
#include <linux/timer.h>
#include <linux/mod_devicetable.h>
+//#include <linux/bitops.h>
You added and commented it out?
quoted
#define NBITS(x) (((x)/BITS_PER_LONG)+1)
-#define BIT(x) (1UL<<((x)%BITS_PER_LONG))
+#undef BIT
+#define BIT(nr) (1UL << ((nr) % BITS_PER_LONG))
Why did you change x to nr? The other defines seems to use x.
just messed it up while testing
would clean it after we decide to add a new macro
& before i send the final version.
quoted
-#define BIT(x) (1ul<<(x))
#define POW2(x) (1ul<<(x))
Maybe you can clean up POW2 as well (or define it as "#define POW2(x)
BIT(x)")
yes
but want to go one step at a time
currently just cleaning up places where BIT macro is explicitly defined
the implicit uses [replacing 1UL << (x)] will be handled in another patch series
"use BIT macro wherever appropriate"
Also, it seems your mail-client swapped the tabs to spaces (aka not able
to apply).
attaching the patch file
bear with me for the time being
--
Milind Arun Choudhary