Re: [patch/rfc 2.6.28-rc2] input: twl4030_keypad driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux