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 <[email protected]>
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-omap" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html