diff mbox

Input: wacom_w8001 - drop use of ABS_MT_TOOL_TYPE

Message ID 20160111035151.GA24743@jelly.redhat.com (mailing list archive)
State Accepted
Headers show

Commit Message

Peter Hutterer Jan. 11, 2016, 3:51 a.m. UTC
As of e0361b70175f0cd6199dd9ed6679632de73973d4
  Input: wacom_w8001 - split the touch and pen devices into two devices
the touch events aren't multiplexed over the same device anymore, the use of
ABS_MT_TOOL_TYPE is superfluous. And even before then it only ever sent
MT_TOOL_TYPE_FINGER anyway.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
---
 drivers/input/touchscreen/wacom_w8001.c | 3 ---
 1 file changed, 3 deletions(-)

Comments

Dmitry Torokhov Jan. 11, 2016, 8:12 a.m. UTC | #1
On Mon, Jan 11, 2016 at 01:51:51PM +1000, Peter Hutterer wrote:
> As of e0361b70175f0cd6199dd9ed6679632de73973d4
>   Input: wacom_w8001 - split the touch and pen devices into two devices
> the touch events aren't multiplexed over the same device anymore, the use of
> ABS_MT_TOOL_TYPE is superfluous. And even before then it only ever sent
> MT_TOOL_TYPE_FINGER anyway.
> 
> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

Applied, thank you.

> ---
>  drivers/input/touchscreen/wacom_w8001.c | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/drivers/input/touchscreen/wacom_w8001.c b/drivers/input/touchscreen/wacom_w8001.c
> index fe983e7..bab3c6a 100644
> --- a/drivers/input/touchscreen/wacom_w8001.c
> +++ b/drivers/input/touchscreen/wacom_w8001.c
> @@ -155,7 +155,6 @@ static void parse_multi_touch(struct w8001 *w8001)
>  		bool touch = data[0] & (1 << i);
>  
>  		input_mt_slot(dev, i);
> -		input_mt_report_slot_state(dev, MT_TOOL_FINGER, touch);
>  		if (touch) {
>  			x = (data[6 * i + 1] << 7) | data[6 * i + 2];
>  			y = (data[6 * i + 3] << 7) | data[6 * i + 4];
> @@ -514,8 +513,6 @@ static int w8001_setup_touch(struct w8001 *w8001, char *basename,
>  					0, touch.x, 0, 0);
>  		input_set_abs_params(dev, ABS_MT_POSITION_Y,
>  					0, touch.y, 0, 0);
> -		input_set_abs_params(dev, ABS_MT_TOOL_TYPE,
> -					0, MT_TOOL_MAX, 0, 0);
>  
>  		strlcat(basename, " 2FG", basename_sz);
>  		if (w8001->max_pen_x && w8001->max_pen_y)
> -- 
> 2.5.0
>
Dmitry Torokhov July 14, 2016, 12:09 a.m. UTC | #2
On Mon, Jan 11, 2016 at 12:12 AM, Dmitry Torokhov
<dmitry.torokhov@gmail.com> wrote:
> On Mon, Jan 11, 2016 at 01:51:51PM +1000, Peter Hutterer wrote:
>> As of e0361b70175f0cd6199dd9ed6679632de73973d4
>>   Input: wacom_w8001 - split the touch and pen devices into two devices
>> the touch events aren't multiplexed over the same device anymore, the use of
>> ABS_MT_TOOL_TYPE is superfluous. And even before then it only ever sent
>> MT_TOOL_TYPE_FINGER anyway.
>>
>> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
>
> Applied, thank you.

Hmm, so I applied that but removal of input_mt_report_slot_state()
means that we do not generate tacking IDs for the contacts. Revert?

>
>> ---
>>  drivers/input/touchscreen/wacom_w8001.c | 3 ---
>>  1 file changed, 3 deletions(-)
>>
>> diff --git a/drivers/input/touchscreen/wacom_w8001.c b/drivers/input/touchscreen/wacom_w8001.c
>> index fe983e7..bab3c6a 100644
>> --- a/drivers/input/touchscreen/wacom_w8001.c
>> +++ b/drivers/input/touchscreen/wacom_w8001.c
>> @@ -155,7 +155,6 @@ static void parse_multi_touch(struct w8001 *w8001)
>>               bool touch = data[0] & (1 << i);
>>
>>               input_mt_slot(dev, i);
>> -             input_mt_report_slot_state(dev, MT_TOOL_FINGER, touch);
>>               if (touch) {
>>                       x = (data[6 * i + 1] << 7) | data[6 * i + 2];
>>                       y = (data[6 * i + 3] << 7) | data[6 * i + 4];
>> @@ -514,8 +513,6 @@ static int w8001_setup_touch(struct w8001 *w8001, char *basename,
>>                                       0, touch.x, 0, 0);
>>               input_set_abs_params(dev, ABS_MT_POSITION_Y,
>>                                       0, touch.y, 0, 0);
>> -             input_set_abs_params(dev, ABS_MT_TOOL_TYPE,
>> -                                     0, MT_TOOL_MAX, 0, 0);
>>
>>               strlcat(basename, " 2FG", basename_sz);
>>               if (w8001->max_pen_x && w8001->max_pen_y)
>> --
>> 2.5.0
>>
>
> --
> Dmitry
Ping Cheng July 14, 2016, 12:22 a.m. UTC | #3
On Wednesday, July 13, 2016, Dmitry Torokhov <dmitry.torokhov@gmail.com> wrote:
>
> On Mon, Jan 11, 2016 at 12:12 AM, Dmitry Torokhov
> <dmitry.torokhov@gmail.com> wrote:
> > On Mon, Jan 11, 2016 at 01:51:51PM +1000, Peter Hutterer wrote:
> >> As of e0361b70175f0cd6199dd9ed6679632de73973d4
> >>   Input: wacom_w8001 - split the touch and pen devices into two devices
> >> the touch events aren't multiplexed over the same device anymore, the use of
> >> ABS_MT_TOOL_TYPE is superfluous. And even before then it only ever sent
> >> MT_TOOL_TYPE_FINGER anyway.
> >>
> >> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
> >
> > Applied, thank you.
>
> Hmm, so I applied that but removal of input_mt_report_slot_state()
> means that we do not generate tacking IDs for the contacts.

You are right. I have a set of patches to clean up the code. It is
still under testing/reviewing...

>
> Revert?

It may be quicker to revert this one now. I'll submit the clean up set later.

Thanks,

Ping

>
> >
> >> ---
> >>  drivers/input/touchscreen/wacom_w8001.c | 3 ---
> >>  1 file changed, 3 deletions(-)
> >>
> >> diff --git a/drivers/input/touchscreen/wacom_w8001.c b/drivers/input/touchscreen/wacom_w8001.c
> >> index fe983e7..bab3c6a 100644
> >> --- a/drivers/input/touchscreen/wacom_w8001.c
> >> +++ b/drivers/input/touchscreen/wacom_w8001.c
> >> @@ -155,7 +155,6 @@ static void parse_multi_touch(struct w8001 *w8001)
> >>               bool touch = data[0] & (1 << i);
> >>
> >>               input_mt_slot(dev, i);
> >> -             input_mt_report_slot_state(dev, MT_TOOL_FINGER, touch);
> >>               if (touch) {
> >>                       x = (data[6 * i + 1] << 7) | data[6 * i + 2];
> >>                       y = (data[6 * i + 3] << 7) | data[6 * i + 4];
> >> @@ -514,8 +513,6 @@ static int w8001_setup_touch(struct w8001 *w8001, char *basename,
> >>                                       0, touch.x, 0, 0);
> >>               input_set_abs_params(dev, ABS_MT_POSITION_Y,
> >>                                       0, touch.y, 0, 0);
> >> -             input_set_abs_params(dev, ABS_MT_TOOL_TYPE,
> >> -                                     0, MT_TOOL_MAX, 0, 0);
> >>
> >>               strlcat(basename, " 2FG", basename_sz);
> >>               if (w8001->max_pen_x && w8001->max_pen_y)
> >> --
> >> 2.5.0
> >>
> >
> > --
> > Dmitry
>
>
>
> --
> Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Peter Hutterer July 14, 2016, 5:57 a.m. UTC | #4
On Wed, Jul 13, 2016 at 05:22:30PM -0700, Ping Cheng wrote:
> On Wednesday, July 13, 2016, Dmitry Torokhov <dmitry.torokhov@gmail.com> wrote:
> >
> > On Mon, Jan 11, 2016 at 12:12 AM, Dmitry Torokhov
> > <dmitry.torokhov@gmail.com> wrote:
> > > On Mon, Jan 11, 2016 at 01:51:51PM +1000, Peter Hutterer wrote:
> > >> As of e0361b70175f0cd6199dd9ed6679632de73973d4
> > >>   Input: wacom_w8001 - split the touch and pen devices into two devices
> > >> the touch events aren't multiplexed over the same device anymore, the use of
> > >> ABS_MT_TOOL_TYPE is superfluous. And even before then it only ever sent
> > >> MT_TOOL_TYPE_FINGER anyway.
> > >>
> > >> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
> > >
> > > Applied, thank you.
> >
> > Hmm, so I applied that but removal of input_mt_report_slot_state()
> > means that we do not generate tacking IDs for the contacts.
> 
> You are right. I have a set of patches to clean up the code. It is
> still under testing/reviewing...
> 
> >
> > Revert?
> 
> It may be quicker to revert this one now. I'll submit the clean up set later.

yeah, I agree and we found another bug with these devices. It'll be easier
to merge the fixed set.

Cheers,
   Peter
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Dmitry Torokhov July 14, 2016, 4:42 p.m. UTC | #5
On Thu, Jul 14, 2016 at 03:57:59PM +1000, Peter Hutterer wrote:
> On Wed, Jul 13, 2016 at 05:22:30PM -0700, Ping Cheng wrote:
> > On Wednesday, July 13, 2016, Dmitry Torokhov <dmitry.torokhov@gmail.com> wrote:
> > >
> > > On Mon, Jan 11, 2016 at 12:12 AM, Dmitry Torokhov
> > > <dmitry.torokhov@gmail.com> wrote:
> > > > On Mon, Jan 11, 2016 at 01:51:51PM +1000, Peter Hutterer wrote:
> > > >> As of e0361b70175f0cd6199dd9ed6679632de73973d4
> > > >>   Input: wacom_w8001 - split the touch and pen devices into two devices
> > > >> the touch events aren't multiplexed over the same device anymore, the use of
> > > >> ABS_MT_TOOL_TYPE is superfluous. And even before then it only ever sent
> > > >> MT_TOOL_TYPE_FINGER anyway.
> > > >>
> > > >> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
> > > >
> > > > Applied, thank you.
> > >
> > > Hmm, so I applied that but removal of input_mt_report_slot_state()
> > > means that we do not generate tacking IDs for the contacts.
> > 
> > You are right. I have a set of patches to clean up the code. It is
> > still under testing/reviewing...
> > 
> > >
> > > Revert?
> > 
> > It may be quicker to revert this one now. I'll submit the clean up set later.
> 
> yeah, I agree and we found another bug with these devices. It'll be easier
> to merge the fixed set.

OK, reverted (and revert marked for stable). I added your acks to the
revert commit.

Thanks!
diff mbox

Patch

diff --git a/drivers/input/touchscreen/wacom_w8001.c b/drivers/input/touchscreen/wacom_w8001.c
index fe983e7..bab3c6a 100644
--- a/drivers/input/touchscreen/wacom_w8001.c
+++ b/drivers/input/touchscreen/wacom_w8001.c
@@ -155,7 +155,6 @@  static void parse_multi_touch(struct w8001 *w8001)
 		bool touch = data[0] & (1 << i);
 
 		input_mt_slot(dev, i);
-		input_mt_report_slot_state(dev, MT_TOOL_FINGER, touch);
 		if (touch) {
 			x = (data[6 * i + 1] << 7) | data[6 * i + 2];
 			y = (data[6 * i + 3] << 7) | data[6 * i + 4];
@@ -514,8 +513,6 @@  static int w8001_setup_touch(struct w8001 *w8001, char *basename,
 					0, touch.x, 0, 0);
 		input_set_abs_params(dev, ABS_MT_POSITION_Y,
 					0, touch.y, 0, 0);
-		input_set_abs_params(dev, ABS_MT_TOOL_TYPE,
-					0, MT_TOOL_MAX, 0, 0);
 
 		strlcat(basename, " 2FG", basename_sz);
 		if (w8001->max_pen_x && w8001->max_pen_y)