2014-07-26 00:27:59

by Dmitry Torokhov

[permalink] [raw]
Subject: [PATCH] Input: synaptics - properly initialize slots for semi-MT

Semi-MT devices are pointers too, so let's tell that to
input_mt_init_slots(), as well as let it set up the devices as semi-MT,
instead of us doing it manually.

Reviewed-by: Daniel Kurtz <[email protected]>
Reviewed-by: Benson Leung <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
---
drivers/input/mouse/synaptics.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
index ef9e0b8..fe607e9 100644
--- a/drivers/input/mouse/synaptics.c
+++ b/drivers/input/mouse/synaptics.c
@@ -1371,11 +1371,11 @@ static void set_input_params(struct psmouse *psmouse,
__set_bit(BTN_TOOL_QUADTAP, dev->keybit);
__set_bit(BTN_TOOL_QUINTTAP, dev->keybit);
} else if (SYN_CAP_ADV_GESTURE(priv->ext_cap_0c)) {
- /* Non-image sensors with AGM use semi-mt */
- __set_bit(INPUT_PROP_SEMI_MT, dev->propbit);
- input_mt_init_slots(dev, 2, 0);
set_abs_position_params(dev, priv, ABS_MT_POSITION_X,
ABS_MT_POSITION_Y);
+ /* Non-image sensors with AGM use semi-mt */
+ input_mt_init_slots(dev, 2,
+ INPUT_MT_POINTER | INPUT_MT_SEMI_MT);
}

if (SYN_CAP_PALMDETECT(priv->capabilities))
--
2.0.0.526.g5318336


--
Dmitry


2014-07-26 14:15:51

by Benjamin Tissoires

[permalink] [raw]
Subject: Re: [PATCH] Input: synaptics - properly initialize slots for semi-MT

On Jul 25 2014 or thereabouts, Dmitry Torokhov wrote:
> Semi-MT devices are pointers too, so let's tell that to
> input_mt_init_slots(), as well as let it set up the devices as semi-MT,
> instead of us doing it manually.
>
> Reviewed-by: Daniel Kurtz <[email protected]>
> Reviewed-by: Benson Leung <[email protected]>
> Signed-off-by: Dmitry Torokhov <[email protected]>
> ---

Reviewed-by: Benjamin Tissoires <[email protected]>

> drivers/input/mouse/synaptics.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
> index ef9e0b8..fe607e9 100644
> --- a/drivers/input/mouse/synaptics.c
> +++ b/drivers/input/mouse/synaptics.c
> @@ -1371,11 +1371,11 @@ static void set_input_params(struct psmouse *psmouse,
> __set_bit(BTN_TOOL_QUADTAP, dev->keybit);
> __set_bit(BTN_TOOL_QUINTTAP, dev->keybit);
> } else if (SYN_CAP_ADV_GESTURE(priv->ext_cap_0c)) {
> - /* Non-image sensors with AGM use semi-mt */
> - __set_bit(INPUT_PROP_SEMI_MT, dev->propbit);
> - input_mt_init_slots(dev, 2, 0);
> set_abs_position_params(dev, priv, ABS_MT_POSITION_X,
> ABS_MT_POSITION_Y);
> + /* Non-image sensors with AGM use semi-mt */
> + input_mt_init_slots(dev, 2,
> + INPUT_MT_POINTER | INPUT_MT_SEMI_MT);
> }
>
> if (SYN_CAP_PALMDETECT(priv->capabilities))
> --
> 2.0.0.526.g5318336
>
>
> --
> Dmitry

2014-07-26 15:57:52

by Henrik Rydberg

[permalink] [raw]
Subject: Re: [PATCH] Input: synaptics - properly initialize slots for semi-MT

Hi Dmitry,

On 07/26/2014 02:27 AM, Dmitry Torokhov wrote:
> Semi-MT devices are pointers too, so let's tell that to
> input_mt_init_slots(), as well as let it set up the devices as semi-MT,
> instead of us doing it manually.
>
> Reviewed-by: Daniel Kurtz <[email protected]>
> Reviewed-by: Benson Leung <[email protected]>
> Signed-off-by: Dmitry Torokhov <[email protected]>
> ---
> drivers/input/mouse/synaptics.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
> index ef9e0b8..fe607e9 100644
> --- a/drivers/input/mouse/synaptics.c
> +++ b/drivers/input/mouse/synaptics.c
> @@ -1371,11 +1371,11 @@ static void set_input_params(struct psmouse *psmouse,
> __set_bit(BTN_TOOL_QUADTAP, dev->keybit);
> __set_bit(BTN_TOOL_QUINTTAP, dev->keybit);
> } else if (SYN_CAP_ADV_GESTURE(priv->ext_cap_0c)) {
> - /* Non-image sensors with AGM use semi-mt */
> - __set_bit(INPUT_PROP_SEMI_MT, dev->propbit);
> - input_mt_init_slots(dev, 2, 0);
> set_abs_position_params(dev, priv, ABS_MT_POSITION_X,
> ABS_MT_POSITION_Y);
> + /* Non-image sensors with AGM use semi-mt */
> + input_mt_init_slots(dev, 2,
> + INPUT_MT_POINTER | INPUT_MT_SEMI_MT);
> }

As long as DOUBLE_TAP is set unconditionally in this path anyways, it should be
ok. I have a vague memory of refraining from this exact change at some point,
because of the many branches of settings.

>
> if (SYN_CAP_PALMDETECT(priv->capabilities))
>

Henrik

2014-07-26 21:12:41

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [PATCH] Input: synaptics - properly initialize slots for semi-MT

On Sat, Jul 26, 2014 at 05:50:06PM +0200, Henrik Rydberg wrote:
> Hi Dmitry,
>
> On 07/26/2014 02:27 AM, Dmitry Torokhov wrote:
> > Semi-MT devices are pointers too, so let's tell that to
> > input_mt_init_slots(), as well as let it set up the devices as semi-MT,
> > instead of us doing it manually.
> >
> > Reviewed-by: Daniel Kurtz <[email protected]>
> > Reviewed-by: Benson Leung <[email protected]>
> > Signed-off-by: Dmitry Torokhov <[email protected]>
> > ---
> > drivers/input/mouse/synaptics.c | 6 +++---
> > 1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
> > index ef9e0b8..fe607e9 100644
> > --- a/drivers/input/mouse/synaptics.c
> > +++ b/drivers/input/mouse/synaptics.c
> > @@ -1371,11 +1371,11 @@ static void set_input_params(struct psmouse *psmouse,
> > __set_bit(BTN_TOOL_QUADTAP, dev->keybit);
> > __set_bit(BTN_TOOL_QUINTTAP, dev->keybit);
> > } else if (SYN_CAP_ADV_GESTURE(priv->ext_cap_0c)) {
> > - /* Non-image sensors with AGM use semi-mt */
> > - __set_bit(INPUT_PROP_SEMI_MT, dev->propbit);
> > - input_mt_init_slots(dev, 2, 0);
> > set_abs_position_params(dev, priv, ABS_MT_POSITION_X,
> > ABS_MT_POSITION_Y);
> > + /* Non-image sensors with AGM use semi-mt */
> > + input_mt_init_slots(dev, 2,
> > + INPUT_MT_POINTER | INPUT_MT_SEMI_MT);
> > }
>
> As long as DOUBLE_TAP is set unconditionally in this path anyways, it should be
> ok. I have a vague memory of refraining from this exact change at some point,
> because of the many branches of settings.

Yes, it is, as we should be hitting the multi-finger capability check
below.

Thanks.

--
Dmitry