[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20180727185418.GG72640@dtor-ws>
Date: Fri, 27 Jul 2018 11:54:18 -0700
From: Dmitry Torokhov <dmitry.torokhov@...il.com>
To: Nick Dyer <nick@...anahar.org>
Cc: linux-kernel@...r.kernel.org, linux-input@...r.kernel.org,
Chris Healy <cphealy@...il.com>,
Nikita Yushchenko <nikita.yoush@...entembedded.com>,
Lucas Stach <l.stach@...gutronix.de>,
Nick Dyer <nick.dyer@...ev.co.uk>
Subject: Re: [PATCH v1 01/10] Input: atmel_mxt_ts - only use first T9 instance
On Fri, Jul 20, 2018 at 10:51:13PM +0100, Nick Dyer wrote:
> From: Nick Dyer <nick.dyer@...ev.co.uk>
>
> The driver only registers one input device, which uses the screen
> parameters from the first T9 instance. The first T63 instance also uses
> those parameters.
>
> It is incorrect to send input reports from the second instances of these
> objects if they are enabled: the input scaling will be wrong and the
> positions will be mashed together.
>
> This also causes problems on Android if the number of slots exceeds 32.
>
> In the future, this could be handled by looking for enabled touch object
> instances and creating an input device for each one.
>
> Signed-off-by: Nick Dyer <nick.dyer@...ev.co.uk>
> Acked-by: Benson Leung <bleung@...omium.org>
> Acked-by: Yufeng Shen <miletus@...omium.org>
> ---
OK, I adjusted patch #7 to use kmemdup_nul() as we discussed, and
skipped #9, applied the rest.
Thanks!
> drivers/input/touchscreen/atmel_mxt_ts.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
> index 54fe190fd4bc..48c5ccab00a0 100644
> --- a/drivers/input/touchscreen/atmel_mxt_ts.c
> +++ b/drivers/input/touchscreen/atmel_mxt_ts.c
> @@ -1658,10 +1658,11 @@ static int mxt_parse_object_table(struct mxt_data *data,
> break;
> case MXT_TOUCH_MULTI_T9:
> data->multitouch = MXT_TOUCH_MULTI_T9;
> + /* Only handle messages from first T9 instance */
> data->T9_reportid_min = min_id;
> - data->T9_reportid_max = max_id;
> - data->num_touchids = object->num_report_ids
> - * mxt_obj_instances(object);
> + data->T9_reportid_max = min_id +
> + object->num_report_ids - 1;
> + data->num_touchids = object->num_report_ids;
> break;
> case MXT_SPT_MESSAGECOUNT_T44:
> data->T44_address = object->start_address;
> --
> 2.17.1
>
--
Dmitry
Powered by blists - more mailing lists