Re: [PATCH 2/2] Input: atmel_mxt_ts - Add keycodes array example

From: Nick Dyer
Date: Thu Aug 07 2014 - 08:38:14 EST


On 07/08/14 01:48, Javier Martinez Canillas wrote:
> The Atmel maXTouch driver allows to dynamically define the
> event keycodes set that the device is capable of. This may
> not be evident when reading the DT binding document so add
> an example to make it easier to understand how this works.
>
> Also, the current documentation says that the array limit
> is four entries but the driver dynamically allocates the
> keymap array and does not limit the array size.

There is a physical limit to the number of GPIOs on the device. The number
4 is wrong, the protocol does allow for up to 8 GPIOs. But it is a hard limit.

>
> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
> ---
> Documentation/devicetree/bindings/input/atmel,maxtouch.txt | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/input/atmel,maxtouch.txt b/Documentation/devicetree/bindings/input/atmel,maxtouch.txt
> index baef432..be50476 100644
> --- a/Documentation/devicetree/bindings/input/atmel,maxtouch.txt
> +++ b/Documentation/devicetree/bindings/input/atmel,maxtouch.txt
> @@ -11,7 +11,7 @@ Required properties:
>
> Optional properties for main touchpad device:
>
> -- linux,gpio-keymap: An array of up to 4 entries indicating the Linux
> +- linux,gpio-keymap: An array of entries indicating the Linux
> keycode generated by each GPIO. Linux keycodes are defined in
> <dt-bindings/input/input.h>.
>
> @@ -22,4 +22,10 @@ Example:
> reg = <0x4b>;
> interrupt-parent = <&gpio>;
> interrupts = <TEGRA_GPIO(W, 3) IRQ_TYPE_LEVEL_LOW>;
> + linux,gpio-keymap = < BTN_LEFT
> + BTN_TOOL_FINGER
> + BTN_TOOL_DOUBLETAP
> + BTN_TOOL_TRIPLETAP
> + BTN_TOOL_QUADTAP
> + BTN_TOOL_QUINTTAP >;

I'm afraid you have misunderstood the impact of this change to the way that
the GPIOs coming in to the touch controller are mapped to key codes. Look
at the protocol guide for T19.

The DOUBLE/TRIPLE/QUAD/QUINTTAP stuff is filled in for us by the input core
when we use INPUT_MT_POINTER, anyway.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/