Hi Dmitry, On Mon, Feb 8, 2010 at 4:18 PM, Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> wrote: > On Mon, Feb 08, 2010 at 03:32:34PM +0900, Magnus Damm wrote: >> >> +#define WRAP(fn, m...) bitmap_##fn(m, SH_KEYSC_MAXKEYS) >> +#define sh_keysc_map_zero(m) WRAP(zero, (m)->b) >> +#define sh_keysc_map_fill(m) WRAP(fill, (m)->b) >> +#define sh_keysc_map_and(m, m2) WRAP(and, (m)->b, (m)->b, (m2)->b) >> +#define sh_keysc_map_or(m, m2) WRAP(or, (m)->b, (m)->b, (m2)->b) >> +#define sh_keysc_map_complement(m) WRAP(complement, (m)->b, (m)->b) >> +#define sh_keysc_map_set(m, n) set_bit((n), (m)->b) >> +#define sh_keysc_map_clear(m, n) clear_bit((n), (m)->b) >> +#define sh_keysc_map_test(m, n) test_bit((n), (m)->b) >> + > > Why do you need these wrappers? For me they simply create a distraction, > later when I read the code I will have to go and look up what > sh_keysc_map_set() means but if I see __set_bit() I'd know right away. To avoid duplicating SH_KEYSC_MAXKEYS all over the place I started out by wrapping bitmap_zero/fill/and/or/complement(). To be consistent I decided to wrap the set/clear/test_bit() functions as well, but it may be better to leave them alone. Are you ok with wrapping the bitmap_...() functions to avoid duplicating SH_KEYSC_MAXKEYS? Cheers, / magnus -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html