On Friday 30 January 2009, hartleys wrote: > > I'd support an overall cleanup patch that fixes all those things at once. > > How's this for a starting point? I'm willing to create a cleanup patch > for all the mach-omap1, mach-omap2, and mach-pxa users. > > Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> I think none of the twl4030 keypad users are in mainline, so far... My first reaction to this is that it's a bit incomplete. It replaces only the KEY() macro in the $SUBJECT patch: - There are two more public ones (for board files): * KEY_PERSISTENT flags row/column values to ignore * PERSISTENT_KEY (sigh) generates a row/col entry with such a marking (instead of a keycode) - Plus two driver-internal ones: * ROWCOL_MASK to strip R/C from KEY() * KEYCODE_MASK to stip the keycode from a KEY() If there is going to be something reusable across the whole input subsystem (for drivers that don't need fancy stuff), it should really address the whole problem... - Dave > --- > > diff --git a/include/linux/input.h b/include/linux/input.h > index 1249a0c..0879493 100644 > --- a/include/linux/input.h > +++ b/include/linux/input.h > @@ -598,6 +598,14 @@ struct input_absinfo { > #define KEY_CNT (KEY_MAX+1) > > /* > + * Macro to pack the row/col of a key on a matrix keypad and it's associated > + * KEY_* code into into an array. 4 bits are used for both the row and column > + * allowing for up to a 16x16 keypad. The row (_r) and column (_c) are > + * interchangable depending on a keypad drivers usage. > + */ > +#define MATRIX_KEY(_r, _c, _v) (((_r) << 28) | ((_c) << 24) | (_v)) > + > +/* > * Relative axes > */ > > -- 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