[meta-freescale] [linux-boundary][PATCHv2] egalax_ts: Always report all touch points before input_sync()

Eric Nelson eric.nelson at boundarydevices.com
Fri Jul 5 18:07:32 PDT 2013


Hi Erik,

On 07/04/2013 11:18 PM, Erik Botö wrote:
> Hi Eric,
>
> On Wed, Jul 3, 2013 at 8:53 PM, Eric Nelson
> <eric.nelson at boundarydevices.com
> <mailto:eric.nelson at boundarydevices.com>> wrote:
>
>     Hi Erik,
>
>     Sorry for the delay, but I finally got around to checking this patch.
>
>
>     On 07/03/2013 07:11 AM, Erik Botö wrote:
>
>         The previous behavior of the driver did not work properly with Qt5
>         QtQuick multi touch-point gestures, due to how touch-points are
>         reported when removing a touch-point. My interpretation of the
>         available documentation [1] was that the driver should report all
>         touch-points between SYN_REPORTs, but it is not explicitly
>         stated so.
>         I've found another mail-thread [2] where the creator of the protocol
>         states:
>
>         "The protocol defines a generic way of sending a variable amount of
>         contacts. The contact count is obtained by counting the number of
>         non-empty finger packets between SYN_REPORT events."-Henrik Rydberg
>
>         I think this verifies my assumption that all touch-points should be
>         reported between SYN_REPORTs, otherwise it can not be used to obtain
>         the count.
>
>
>     Your assumptions are correct, and if I read things correctly, they're
>     already fixed, but in a different source tree...
>
>     I'm guessing that someone forgot to mention that there are **two**
>     primary kernel trees for i.MX. Android and not-Android.
>
>     The Android kernel seems to have this fixed in a different way,
>     by doing some additional book-keeping of current touches:
>     http://git.freescale.com/git/__cgit.cgi/imx/linux-2.6-imx.__git/tree/drivers/input/__touchscreen/egalax_ts.c?id=__3b9608406bb699de5ff02760c745e6__2212b4c280
>     <http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/tree/drivers/input/touchscreen/egalax_ts.c?id=3b9608406bb699de5ff02760c745e62212b4c280>
>
>     In Freescale's repository, the current Android stuff is in a tag
>     (jb4.2.2_1.0.0-ga) instead of a branch, so it's a bit difficult
>     to navigate through the web interface:
>
>     http://git.freescale.com/git/__cgit.cgi/imx/linux-2.6-imx.__git/tag/?id=jb4.2.2_1.0.0-ga
>     <http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/tag/?id=jb4.2.2_1.0.0-ga>
>
>     Hey Freescalers, can we get a head nod that we can consolidate
>     these? I think all that's needed is to add the SINGLE_TOUCH stuff
>     into the Android branch.
>
>     Erik, can you try out the Android version and see if it works for
>     you?
>
>
> I did a quick test where I just copied the Android version, removed the
> EARLYSUSPEND stuff so it would build inside a regular kernel but it is
> not behaving properly for me. Even one finger clicks doesn't seem to
> work, looks like it never gets released.
>
Thanks for testing that.

It doesn't surprise me that Android expects something off-spec.

> Unfortunately I don't have much time to investigate this further. But
> since the two kernels are different anyway I guess there's no danger
> with merging my patch suggestion in the non-android kernel?
>

No worries on my end.

I was just hoping to consolidate the two, since it makes future bug
fixes easier.

Regards,


Eric



More information about the meta-freescale mailing list