2015-08-06 10:51:34

by Dirk Behme

[permalink] [raw]
Subject: Re: [PATCH 1/2] Input: atmel_mxt_ts - Implement support for T100 touch object

On 17.03.2015 15:00, Javier Martinez Canillas wrote:
> From: Nick Dyer <[email protected]>
>
> Add support for the new T100 object which replaces the previous
> T9 multitouch touchscreen object in recent maXTouch devices.
> T100 provides improved reporting with selectable auxiliary
> information, and a type field for hover/stylus/glove reporting.
>
> The hovering finger support was based on Chung-Yih's work in
> the ChromiumOS downstream kernel:
>
> https://chromium-review.googlesource.com/#/c/219280/
>
> Signed-off-by: Nick Dyer <[email protected]>
> Acked-by: Yufeng Shen <[email protected]>
> [javier: Factor out T9 and T100 init functions and rework hover support]
> Signed-off-by: Javier Martinez Canillas <[email protected]>
> ---
> drivers/input/touchscreen/atmel_mxt_ts.c | 323 +++++++++++++++++++++++++++++--
> 1 file changed, 302 insertions(+), 21 deletions(-)
>
> diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
> index 95ee92a91bd2..749371761669 100644
> --- a/drivers/input/touchscreen/atmel_mxt_ts.c
> +++ b/drivers/input/touchscreen/atmel_mxt_ts.c
...
> @@ -1612,9 +1856,8 @@ static int mxt_initialize_t9_input_device(struct mxt_data *data)
> input_dev->open = mxt_input_open;
> input_dev->close = mxt_input_close;
>
> - __set_bit(EV_ABS, input_dev->evbit);
> - __set_bit(EV_KEY, input_dev->evbit);
> - __set_bit(BTN_TOUCH, input_dev->keybit);
> + set_bit(EV_ABS, input_dev->evbit);
> + input_set_capability(input_dev, EV_KEY, BTN_TOUCH);


Having this patch in mainline as commit
b23157dc74272ac8ebffd1a566e3e822dbc3e65f [1] breaks our Atmel touch.

It seems that above

+ set_bit(EV_ABS, input_dev->evbit);

is missing in the version which went into mainline? Re-adding it makes
it work for us, again.

Opinions?

Best regards

Dirk

[1]
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/input/touchscreen/atmel_mxt_ts.c?id=b23157dc74272ac8ebffd1a566e3e822dbc3e65f



2015-08-06 11:11:45

by Sjoerd Simons

[permalink] [raw]
Subject: Re: [PATCH 1/2] Input: atmel_mxt_ts - Implement support for T100 touch object

+ Corrected Javiers e-mail address.
On Thu, 2015-08-06 at 12:51 +0200, Dirk Behme wrote:
> On 17.03.2015 15:00, Javier Martinez Canillas wrote:
> >
> Having this patch in mainline as commit
> b23157dc74272ac8ebffd1a566e3e822dbc3e65f [1] breaks our Atmel touch.
>
> It seems that above
>
> + set_bit(EV_ABS, input_dev->evbit);
>
> is missing in the version which went into mainline? Re-adding it
> makes
> it work for us, again.
>
> Opinions?

In mainline the EV_ABS bit automatically gets set as soon as
input_set_abs_params get called.

If you're using this patch on an older kernel you should backport
2c9a9cfec04f2c6ed7b4e607cd53ca903b2c4642 as well.

--
Sjoerd Simons
Collabora Ltd.

2015-08-06 11:19:21

by Javier Martinez Canillas

[permalink] [raw]
Subject: Re: [PATCH 1/2] Input: atmel_mxt_ts - Implement support for T100 touch object

Hello,

On 08/06/2015 01:11 PM, Sjoerd Simons wrote:
> + Corrected Javiers e-mail address.
> On Thu, 2015-08-06 at 12:51 +0200, Dirk Behme wrote:
>> On 17.03.2015 15:00, Javier Martinez Canillas wrote:
>>>
>> Having this patch in mainline as commit
>> b23157dc74272ac8ebffd1a566e3e822dbc3e65f [1] breaks our Atmel touch.
>>
>> It seems that above
>>
>> + set_bit(EV_ABS, input_dev->evbit);
>>
>> is missing in the version which went into mainline? Re-adding it
>> makes
>> it work for us, again.
>>
>> Opinions?
>
> In mainline the EV_ABS bit automatically gets set as soon as
> input_set_abs_params get called.
>
> If you're using this patch on an older kernel you should backport
> 2c9a9cfec04f2c6ed7b4e607cd53ca903b2c4642 as well.
>

That's correct. The reason why the original patch had that it's
because it was forward ported from an older kernel and I missed
that detail when doing the rebase.

Best regards,
--
Javier Martinez Canillas
Open Source Group
Samsung Research America

2015-08-06 13:13:00

by Nick Dyer

[permalink] [raw]
Subject: Re: [PATCH 1/2] Input: atmel_mxt_ts - Implement support for T100 touch object



On 06/08/15 12:19, Javier Martinez Canillas wrote:
>> In mainline the EV_ABS bit automatically gets set as soon as
>> input_set_abs_params get called.
>>
>> If you're using this patch on an older kernel you should backport
>> 2c9a9cfec04f2c6ed7b4e607cd53ca903b2c4642 as well.
>>
> That's correct. The reason why the original patch had that it's
> because it was forward ported from an older kernel and I missed
> that detail when doing the rebase.
>
Yes, I've spotted the same issue myself.

I do keep a list of API breaks that affect this driver here:
https://github.com/atmel-maxtouch/linux/wiki/Driver-Integration#branches

(there's the MT protocol A to B change as well, at about 2.6.39)