Input: elants_i2c - Report resolution information for touch major
diff mbox series

Message ID 1582766000-23023-1-git-send-email-johnny.chuang.emc@gmail.com
State In Next
Commit 061706716384f1633d3d5090b22a99f33f1fcf2f
Headers show
Series
  • Input: elants_i2c - Report resolution information for touch major
Related show

Commit Message

Johnny Chuang Feb. 27, 2020, 1:13 a.m. UTC
From: Johnny Chuang <johnny.chuang@emc.com.tw>

This patch supports reporting resolution for ABS_MT_TOUCH_MAJOR event.
This information is needed in showing pressure/width radius.

Signed-off-by: Johnny Chuang <johnny.chuang@emc.com.tw>
---
 drivers/input/touchscreen/elants_i2c.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Harry Cutts Feb. 27, 2020, 6:44 p.m. UTC | #1
On Wed, 26 Feb 2020 at 17:13, Johnny Chuang <johnny.chuang.emc@gmail.com> wrote:
>
> From: Johnny Chuang <johnny.chuang@emc.com.tw>
>
> This patch supports reporting resolution for ABS_MT_TOUCH_MAJOR event.
> This information is needed in showing pressure/width radius.
>
> Signed-off-by: Johnny Chuang <johnny.chuang@emc.com.tw>
> ---
>  drivers/input/touchscreen/elants_i2c.c | 1 +
>  1 file changed, 1 insertion(+)

Reviewed-by: Harry Cutts <hcutts@chromium.org>

Harry Cutts
Chrome OS Touch/Input team
Peter Hutterer Feb. 27, 2020, 10:36 p.m. UTC | #2
On Thu, Feb 27, 2020 at 09:13:20AM +0800, Johnny Chuang wrote:
> From: Johnny Chuang <johnny.chuang@emc.com.tw>
> 
> This patch supports reporting resolution for ABS_MT_TOUCH_MAJOR event.
> This information is needed in showing pressure/width radius.
> 
> Signed-off-by: Johnny Chuang <johnny.chuang@emc.com.tw>
> ---
>  drivers/input/touchscreen/elants_i2c.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/input/touchscreen/elants_i2c.c b/drivers/input/touchscreen/elants_i2c.c
> index 4911799..14c577c 100644
> --- a/drivers/input/touchscreen/elants_i2c.c
> +++ b/drivers/input/touchscreen/elants_i2c.c
> @@ -1309,6 +1309,7 @@ static int elants_i2c_probe(struct i2c_client *client,
>  	input_set_abs_params(ts->input, ABS_MT_PRESSURE, 0, 255, 0, 0);
>  	input_abs_set_res(ts->input, ABS_MT_POSITION_X, ts->x_res);
>  	input_abs_set_res(ts->input, ABS_MT_POSITION_Y, ts->y_res);
> +	input_abs_set_res(ts->input, ABS_MT_TOUCH_MAJOR, 1);

official resolution for absinfo is "units per mm", so a value of 3 would
mean 3mm, is that correct?

Not that it matters too much, since touch major is already all over the
place and needs userspace overrides for every device but it'd be nice to at
least make this useful out of the box on one device class.

Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

otherwise

Cheers,
   Peter

>  
>  	error = input_register_device(ts->input);
>  	if (error) {
> -- 
> 2.7.4
>
Johnny.Chuang March 2, 2020, 8:14 a.m. UTC | #3
> -----Original Message-----
> From: Peter Hutterer [mailto:peter.hutterer@who-t.net]
> Sent: Friday, February 28, 2020 6:36 AM
> To: Johnny Chuang
> Cc: Dmitry Torokhov; Benjamin Tissoires; linux-kernel@vger.kernel.org;
> linux-input@vger.kernel.org; Johnny Chuang; Jennifer Tsai; James Chen;
Paul
> Liang; Jeff Chuang
> Subject: Re: [PATCH] Input: elants_i2c - Report resolution information for
touch
> major
> 
> On Thu, Feb 27, 2020 at 09:13:20AM +0800, Johnny Chuang wrote:
> > From: Johnny Chuang <johnny.chuang@emc.com.tw>
> >
> > This patch supports reporting resolution for ABS_MT_TOUCH_MAJOR event.
> > This information is needed in showing pressure/width radius.
> >
> > Signed-off-by: Johnny Chuang <johnny.chuang@emc.com.tw>
> > ---
> >  drivers/input/touchscreen/elants_i2c.c | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/input/touchscreen/elants_i2c.c
> b/drivers/input/touchscreen/elants_i2c.c
> > index 4911799..14c577c 100644
> > --- a/drivers/input/touchscreen/elants_i2c.c
> > +++ b/drivers/input/touchscreen/elants_i2c.c
> > @@ -1309,6 +1309,7 @@ static int elants_i2c_probe(struct i2c_client
> *client,
> >  	input_set_abs_params(ts->input, ABS_MT_PRESSURE, 0, 255, 0, 0);
> >  	input_abs_set_res(ts->input, ABS_MT_POSITION_X, ts->x_res);
> >  	input_abs_set_res(ts->input, ABS_MT_POSITION_Y, ts->y_res);
> > +	input_abs_set_res(ts->input, ABS_MT_TOUCH_MAJOR, 1);
> 
> official resolution for absinfo is "units per mm", so a value of 3 would
> mean 3mm, is that correct?

Correct.
This resolution (1 unit/mm) is for all elan I2C touchscreen devices, 
including the touchscreen devices in the future.
This information is from our firmware members.

> 
> Not that it matters too much, since touch major is already all over the
> place and needs userspace overrides for every device but it'd be nice to
at
> least make this useful out of the box on one device class.
> 
> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
> 
> otherwise
> 
> Cheers,
>    Peter
> 
> >
> >  	error = input_register_device(ts->input);
> >  	if (error) {
> > --
> > 2.7.4
> >
Johnny.Chuang March 6, 2020, 6:27 a.m. UTC | #4
> > -----Original Message-----
> > From: Peter Hutterer [mailto:peter.hutterer@who-t.net]
> > Sent: Friday, February 28, 2020 6:36 AM
> > To: Johnny Chuang
> > Cc: Dmitry Torokhov; Benjamin Tissoires; linux-kernel@vger.kernel.org;
> > linux-input@vger.kernel.org; Johnny Chuang; Jennifer Tsai; James Chen;
> > Paul Liang; Jeff Chuang
> > Subject: Re: [PATCH] Input: elants_i2c - Report resolution information
> > for touch major
> >
> > On Thu, Feb 27, 2020 at 09:13:20AM +0800, Johnny Chuang wrote:
> > > From: Johnny Chuang <johnny.chuang@emc.com.tw>
> > >
> > > This patch supports reporting resolution for ABS_MT_TOUCH_MAJOR
> event.
> > > This information is needed in showing pressure/width radius.
> > >
> > > Signed-off-by: Johnny Chuang <johnny.chuang@emc.com.tw>
> > > ---
> > >  drivers/input/touchscreen/elants_i2c.c | 1 +
> > >  1 file changed, 1 insertion(+)
> > >
> > > diff --git a/drivers/input/touchscreen/elants_i2c.c
> > b/drivers/input/touchscreen/elants_i2c.c
> > > index 4911799..14c577c 100644
> > > --- a/drivers/input/touchscreen/elants_i2c.c
> > > +++ b/drivers/input/touchscreen/elants_i2c.c
> > > @@ -1309,6 +1309,7 @@ static int elants_i2c_probe(struct i2c_client
> > *client,
> > >  	input_set_abs_params(ts->input, ABS_MT_PRESSURE, 0, 255, 0, 0);
> > >  	input_abs_set_res(ts->input, ABS_MT_POSITION_X, ts->x_res);
> > >  	input_abs_set_res(ts->input, ABS_MT_POSITION_Y, ts->y_res);
> > > +	input_abs_set_res(ts->input, ABS_MT_TOUCH_MAJOR, 1);
> >
> > official resolution for absinfo is "units per mm", so a value of 3
> > would mean 3mm, is that correct?
> 
> Correct.
> This resolution (1 unit/mm) is for all elan I2C touchscreen devices,
including
> the touchscreen devices in the future.
> This information is from our firmware members.

Hi Peter / Benjamin,
Could you help to review and approve this patch?

> 
> >
> > Not that it matters too much, since touch major is already all over
> > the place and needs userspace overrides for every device but it'd be
> > nice to at least make this useful out of the box on one device class.
> >
> > Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
> >
> > otherwise
> >
> > Cheers,
> >    Peter
> >
> > >
> > >  	error = input_register_device(ts->input);
> > >  	if (error) {
> > > --
> > > 2.7.4
> > >
Johnny.Chuang March 6, 2020, 7:46 a.m. UTC | #5
> > > -----Original Message-----
> > > From: Peter Hutterer [mailto:peter.hutterer@who-t.net]
> > > Sent: Friday, February 28, 2020 6:36 AM
> > > To: Johnny Chuang
> > > Cc: Dmitry Torokhov; Benjamin Tissoires;
> > > linux-kernel@vger.kernel.org; linux-input@vger.kernel.org; Johnny
> > > Chuang; Jennifer Tsai; James Chen; Paul Liang; Jeff Chuang
> > > Subject: Re: [PATCH] Input: elants_i2c - Report resolution
> > > information for touch major
> > >
> > > On Thu, Feb 27, 2020 at 09:13:20AM +0800, Johnny Chuang wrote:
> > > > From: Johnny Chuang <johnny.chuang@emc.com.tw>
> > > >
> > > > This patch supports reporting resolution for ABS_MT_TOUCH_MAJOR
> > event.
> > > > This information is needed in showing pressure/width radius.
> > > >
> > > > Signed-off-by: Johnny Chuang <johnny.chuang@emc.com.tw>
> > > > ---
> > > >  drivers/input/touchscreen/elants_i2c.c | 1 +
> > > >  1 file changed, 1 insertion(+)
> > > >
> > > > diff --git a/drivers/input/touchscreen/elants_i2c.c
> > > b/drivers/input/touchscreen/elants_i2c.c
> > > > index 4911799..14c577c 100644
> > > > --- a/drivers/input/touchscreen/elants_i2c.c
> > > > +++ b/drivers/input/touchscreen/elants_i2c.c
> > > > @@ -1309,6 +1309,7 @@ static int elants_i2c_probe(struct
> > > > i2c_client
> > > *client,
> > > >  	input_set_abs_params(ts->input, ABS_MT_PRESSURE, 0, 255, 0,
0);
> > > >  	input_abs_set_res(ts->input, ABS_MT_POSITION_X, ts->x_res);
> > > >  	input_abs_set_res(ts->input, ABS_MT_POSITION_Y, ts->y_res);
> > > > +	input_abs_set_res(ts->input, ABS_MT_TOUCH_MAJOR, 1);
> > >
> > > official resolution for absinfo is "units per mm", so a value of 3
> > > would mean 3mm, is that correct?
> >
> > Correct.
> > This resolution (1 unit/mm) is for all elan I2C touchscreen devices,
> > including the touchscreen devices in the future.
> > This information is from our firmware members.
> 
> Hi Peter / Benjamin,
> Could you help to review and approve this patch?
> 

Hi Peter / Benjamin,
HP project Mordin mass production on 2020/3/10. ODM needs to upgrade new
image with this patch to verify.
Because ODM can not get the image link from Google, already delay verify
schedule.
Please help to review and approve this patch ASAP. Thank you very much.

> >
> > >
> > > Not that it matters too much, since touch major is already all over
> > > the place and needs userspace overrides for every device but it'd be
> > > nice to at least make this useful out of the box on one device class.
> > >
> > > Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
> > >
> > > otherwise
> > >
> > > Cheers,
> > >    Peter
> > >
> > > >
> > > >  	error = input_register_device(ts->input);
> > > >  	if (error) {
> > > > --
> > > > 2.7.4
> > > >
Benjamin Tissoires March 6, 2020, 5:45 p.m. UTC | #6
On Thu, Feb 27, 2020 at 2:13 AM Johnny Chuang
<johnny.chuang.emc@gmail.com> wrote:
>
> From: Johnny Chuang <johnny.chuang@emc.com.tw>
>
> This patch supports reporting resolution for ABS_MT_TOUCH_MAJOR event.
> This information is needed in showing pressure/width radius.
>
> Signed-off-by: Johnny Chuang <johnny.chuang@emc.com.tw>
> ---

Acked-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>

Cheers,
Benjamin

>  drivers/input/touchscreen/elants_i2c.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/input/touchscreen/elants_i2c.c b/drivers/input/touchscreen/elants_i2c.c
> index 4911799..14c577c 100644
> --- a/drivers/input/touchscreen/elants_i2c.c
> +++ b/drivers/input/touchscreen/elants_i2c.c
> @@ -1309,6 +1309,7 @@ static int elants_i2c_probe(struct i2c_client *client,
>         input_set_abs_params(ts->input, ABS_MT_PRESSURE, 0, 255, 0, 0);
>         input_abs_set_res(ts->input, ABS_MT_POSITION_X, ts->x_res);
>         input_abs_set_res(ts->input, ABS_MT_POSITION_Y, ts->y_res);
> +       input_abs_set_res(ts->input, ABS_MT_TOUCH_MAJOR, 1);
>
>         error = input_register_device(ts->input);
>         if (error) {
> --
> 2.7.4
>
Dmitry Torokhov March 6, 2020, 6:05 p.m. UTC | #7
On Thu, Feb 27, 2020 at 09:13:20AM +0800, Johnny Chuang wrote:
> From: Johnny Chuang <johnny.chuang@emc.com.tw>
> 
> This patch supports reporting resolution for ABS_MT_TOUCH_MAJOR event.
> This information is needed in showing pressure/width radius.
> 
> Signed-off-by: Johnny Chuang <johnny.chuang@emc.com.tw>

Applied, thank you.

> ---
>  drivers/input/touchscreen/elants_i2c.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/input/touchscreen/elants_i2c.c b/drivers/input/touchscreen/elants_i2c.c
> index 4911799..14c577c 100644
> --- a/drivers/input/touchscreen/elants_i2c.c
> +++ b/drivers/input/touchscreen/elants_i2c.c
> @@ -1309,6 +1309,7 @@ static int elants_i2c_probe(struct i2c_client *client,
>  	input_set_abs_params(ts->input, ABS_MT_PRESSURE, 0, 255, 0, 0);
>  	input_abs_set_res(ts->input, ABS_MT_POSITION_X, ts->x_res);
>  	input_abs_set_res(ts->input, ABS_MT_POSITION_Y, ts->y_res);
> +	input_abs_set_res(ts->input, ABS_MT_TOUCH_MAJOR, 1);
>  
>  	error = input_register_device(ts->input);
>  	if (error) {
> -- 
> 2.7.4
>

Patch
diff mbox series

diff --git a/drivers/input/touchscreen/elants_i2c.c b/drivers/input/touchscreen/elants_i2c.c
index 4911799..14c577c 100644
--- a/drivers/input/touchscreen/elants_i2c.c
+++ b/drivers/input/touchscreen/elants_i2c.c
@@ -1309,6 +1309,7 @@  static int elants_i2c_probe(struct i2c_client *client,
 	input_set_abs_params(ts->input, ABS_MT_PRESSURE, 0, 255, 0, 0);
 	input_abs_set_res(ts->input, ABS_MT_POSITION_X, ts->x_res);
 	input_abs_set_res(ts->input, ABS_MT_POSITION_Y, ts->y_res);
+	input_abs_set_res(ts->input, ABS_MT_TOUCH_MAJOR, 1);
 
 	error = input_register_device(ts->input);
 	if (error) {