Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1578153 > unrolled thread

[PATCH] Input: trackpoint: add new trackpoint firmware ID

Started byAaron Ma <aaron.ma@canonical.com>
First post2017-02-10 04:10 +0100
Last post2017-02-14 05:30 +0100
Articles 5 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] Input: trackpoint: add new trackpoint firmware ID Aaron Ma <aaron.ma@canonical.com> - 2017-02-10 04:10 +0100
    Re: [PATCH] Input: trackpoint: add new trackpoint firmware ID Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2017-02-12 23:40 +0100
      Re: [PATCH] Input: trackpoint: add new trackpoint firmware ID Aaron Ma <aaron.ma@canonical.com> - 2017-02-13 01:30 +0100
      Re: [PATCH] Input: trackpoint: add new trackpoint firmware ID Andrew Duggan <aduggan@synaptics.com> - 2017-02-14 01:40 +0100
        Re: [PATCH] Input: trackpoint: add new trackpoint firmware ID Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2017-02-14 05:30 +0100

#1578153 — [PATCH] Input: trackpoint: add new trackpoint firmware ID

FromAaron Ma <aaron.ma@canonical.com>
Date2017-02-10 04:10 +0100
Subject[PATCH] Input: trackpoint: add new trackpoint firmware ID
Message-ID<t99KW-6h2-13@gated-at.bofh.it>
Synaptics add new TP firmware ID: 0x2 and 0x3, for now both lower 2 bits
are indicated as TP. Change the constant to bitwise values.

Signed-off-by: Aaron Ma <aaron.ma@canonical.com>
Cc: stable@vger.kernel.org
---
 drivers/input/mouse/trackpoint.c | 3 ++-
 drivers/input/mouse/trackpoint.h | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/input/mouse/trackpoint.c b/drivers/input/mouse/trackpoint.c
index 7331084..9ff0f38 100644
--- a/drivers/input/mouse/trackpoint.c
+++ b/drivers/input/mouse/trackpoint.c
@@ -265,7 +265,8 @@ static int trackpoint_start_protocol(struct psmouse *psmouse, unsigned char *fir
 	if (ps2_command(&psmouse->ps2dev, param, MAKE_PS2_CMD(0, 2, TP_READ_ID)))
 		return -1;
 
-	if (param[0] != TP_MAGIC_IDENT)
+	/* add new TP ID. */
+	if (!(param[0] & TP_MAGIC_IDENT))
 		return -1;
 
 	if (firmware_id)
diff --git a/drivers/input/mouse/trackpoint.h b/drivers/input/mouse/trackpoint.h
index 5617ed3..8805575 100644
--- a/drivers/input/mouse/trackpoint.h
+++ b/drivers/input/mouse/trackpoint.h
@@ -21,8 +21,9 @@
 #define TP_COMMAND		0xE2	/* Commands start with this */
 
 #define TP_READ_ID		0xE1	/* Sent for device identification */
-#define TP_MAGIC_IDENT		0x01	/* Sent after a TP_READ_ID followed */
+#define TP_MAGIC_IDENT		0x03	/* Sent after a TP_READ_ID followed */
 					/* by the firmware ID */
+					/* Firmware ID includes 0x1, 0x2, 0x3 */
 
 
 /*
-- 
2.9.3

[toc] | [next] | [standalone]


#1579313

FromDmitry Torokhov <dmitry.torokhov@gmail.com>
Date2017-02-12 23:40 +0100
Message-ID<taaYh-3zU-13@gated-at.bofh.it>
In reply to#1578153
On Fri, Feb 10, 2017 at 11:02:21AM +0800, Aaron Ma wrote:
> Synaptics add new TP firmware ID: 0x2 and 0x3, for now both lower 2 bits
> are indicated as TP. Change the constant to bitwise values.

Hmm, I thought IBM/Lenovo owned trackpoint support... Andrew, is it
yours now?

Aaron, what devices have these new trackpoints>?

Thanks.

> 
> Signed-off-by: Aaron Ma <aaron.ma@canonical.com>
> Cc: stable@vger.kernel.org
> ---
>  drivers/input/mouse/trackpoint.c | 3 ++-
>  drivers/input/mouse/trackpoint.h | 3 ++-
>  2 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/input/mouse/trackpoint.c b/drivers/input/mouse/trackpoint.c
> index 7331084..9ff0f38 100644
> --- a/drivers/input/mouse/trackpoint.c
> +++ b/drivers/input/mouse/trackpoint.c
> @@ -265,7 +265,8 @@ static int trackpoint_start_protocol(struct psmouse *psmouse, unsigned char *fir
>  	if (ps2_command(&psmouse->ps2dev, param, MAKE_PS2_CMD(0, 2, TP_READ_ID)))
>  		return -1;
>  
> -	if (param[0] != TP_MAGIC_IDENT)
> +	/* add new TP ID. */
> +	if (!(param[0] & TP_MAGIC_IDENT))
>  		return -1;
>  
>  	if (firmware_id)
> diff --git a/drivers/input/mouse/trackpoint.h b/drivers/input/mouse/trackpoint.h
> index 5617ed3..8805575 100644
> --- a/drivers/input/mouse/trackpoint.h
> +++ b/drivers/input/mouse/trackpoint.h
> @@ -21,8 +21,9 @@
>  #define TP_COMMAND		0xE2	/* Commands start with this */
>  
>  #define TP_READ_ID		0xE1	/* Sent for device identification */
> -#define TP_MAGIC_IDENT		0x01	/* Sent after a TP_READ_ID followed */
> +#define TP_MAGIC_IDENT		0x03	/* Sent after a TP_READ_ID followed */
>  					/* by the firmware ID */
> +					/* Firmware ID includes 0x1, 0x2, 0x3 */
>  
>  
>  /*
> -- 
> 2.9.3
> 

-- 
Dmitry

[toc] | [prev] | [next] | [standalone]


#1579332

FromAaron Ma <aaron.ma@canonical.com>
Date2017-02-13 01:30 +0100
Message-ID<tacGJ-4EL-7@gated-at.bofh.it>
In reply to#1579313

On 02/13/2017 06:38 AM, Dmitry Torokhov wrote:
> On Fri, Feb 10, 2017 at 11:02:21AM +0800, Aaron Ma wrote:
>> Synaptics add new TP firmware ID: 0x2 and 0x3, for now both lower 2 bits
>> are indicated as TP. Change the constant to bitwise values.
> 
> Hmm, I thought IBM/Lenovo owned trackpoint support... Andrew, is it
> yours now?
> 
> Aaron, what devices have these new trackpoints>?

Lenovo ThinkPad X1 Carbon 5th have this new trackpoint, maybe it is not
on sale yet but soon.

BR,
Aaron

> 
> Thanks.
> 
>>
>> Signed-off-by: Aaron Ma <aaron.ma@canonical.com>
>> Cc: stable@vger.kernel.org
>> ---
>>  drivers/input/mouse/trackpoint.c | 3 ++-
>>  drivers/input/mouse/trackpoint.h | 3 ++-
>>  2 files changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/input/mouse/trackpoint.c b/drivers/input/mouse/trackpoint.c
>> index 7331084..9ff0f38 100644
>> --- a/drivers/input/mouse/trackpoint.c
>> +++ b/drivers/input/mouse/trackpoint.c
>> @@ -265,7 +265,8 @@ static int trackpoint_start_protocol(struct psmouse *psmouse, unsigned char *fir
>>  	if (ps2_command(&psmouse->ps2dev, param, MAKE_PS2_CMD(0, 2, TP_READ_ID)))
>>  		return -1;
>>  
>> -	if (param[0] != TP_MAGIC_IDENT)
>> +	/* add new TP ID. */
>> +	if (!(param[0] & TP_MAGIC_IDENT))
>>  		return -1;
>>  
>>  	if (firmware_id)
>> diff --git a/drivers/input/mouse/trackpoint.h b/drivers/input/mouse/trackpoint.h
>> index 5617ed3..8805575 100644
>> --- a/drivers/input/mouse/trackpoint.h
>> +++ b/drivers/input/mouse/trackpoint.h
>> @@ -21,8 +21,9 @@
>>  #define TP_COMMAND		0xE2	/* Commands start with this */
>>  
>>  #define TP_READ_ID		0xE1	/* Sent for device identification */
>> -#define TP_MAGIC_IDENT		0x01	/* Sent after a TP_READ_ID followed */
>> +#define TP_MAGIC_IDENT		0x03	/* Sent after a TP_READ_ID followed */
>>  					/* by the firmware ID */
>> +					/* Firmware ID includes 0x1, 0x2, 0x3 */
>>  
>>  
>>  /*
>> -- 
>> 2.9.3
>>
> 

[toc] | [prev] | [next] | [standalone]


#1580168

FromAndrew Duggan <aduggan@synaptics.com>
Date2017-02-14 01:40 +0100
Message-ID<tazjX-2HA-13@gated-at.bofh.it>
In reply to#1579313
On 02/12/2017 02:38 PM, Dmitry Torokhov wrote:
> On Fri, Feb 10, 2017 at 11:02:21AM +0800, Aaron Ma wrote:
>> Synaptics add new TP firmware ID: 0x2 and 0x3, for now both lower 2 bits
>> are indicated as TP. Change the constant to bitwise values.
> Hmm, I thought IBM/Lenovo owned trackpoint support... Andrew, is it
> yours now?

No, it should still be Lenovo's trackpoint.

Andrew

> Aaron, what devices have these new trackpoints>?
>
> Thanks.
>
>> Signed-off-by: Aaron Ma <aaron.ma@canonical.com>
>> Cc: stable@vger.kernel.org
>> ---
>>   drivers/input/mouse/trackpoint.c | 3 ++-
>>   drivers/input/mouse/trackpoint.h | 3 ++-
>>   2 files changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/input/mouse/trackpoint.c b/drivers/input/mouse/trackpoint.c
>> index 7331084..9ff0f38 100644
>> --- a/drivers/input/mouse/trackpoint.c
>> +++ b/drivers/input/mouse/trackpoint.c
>> @@ -265,7 +265,8 @@ static int trackpoint_start_protocol(struct psmouse *psmouse, unsigned char *fir
>>   	if (ps2_command(&psmouse->ps2dev, param, MAKE_PS2_CMD(0, 2, TP_READ_ID)))
>>   		return -1;
>>   
>> -	if (param[0] != TP_MAGIC_IDENT)
>> +	/* add new TP ID. */
>> +	if (!(param[0] & TP_MAGIC_IDENT))
>>   		return -1;
>>   
>>   	if (firmware_id)
>> diff --git a/drivers/input/mouse/trackpoint.h b/drivers/input/mouse/trackpoint.h
>> index 5617ed3..8805575 100644
>> --- a/drivers/input/mouse/trackpoint.h
>> +++ b/drivers/input/mouse/trackpoint.h
>> @@ -21,8 +21,9 @@
>>   #define TP_COMMAND		0xE2	/* Commands start with this */
>>   
>>   #define TP_READ_ID		0xE1	/* Sent for device identification */
>> -#define TP_MAGIC_IDENT		0x01	/* Sent after a TP_READ_ID followed */
>> +#define TP_MAGIC_IDENT		0x03	/* Sent after a TP_READ_ID followed */
>>   					/* by the firmware ID */
>> +					/* Firmware ID includes 0x1, 0x2, 0x3 */
>>   
>>   
>>   /*
>> -- 
>> 2.9.3
>>

[toc] | [prev] | [next] | [standalone]


#1580290

FromDmitry Torokhov <dmitry.torokhov@gmail.com>
Date2017-02-14 05:30 +0100
Message-ID<taCUx-5bA-1@gated-at.bofh.it>
In reply to#1580168
On Mon, Feb 13, 2017 at 04:30:02PM -0800, Andrew Duggan wrote:
> On 02/12/2017 02:38 PM, Dmitry Torokhov wrote:
> >On Fri, Feb 10, 2017 at 11:02:21AM +0800, Aaron Ma wrote:
> >>Synaptics add new TP firmware ID: 0x2 and 0x3, for now both lower 2 bits
> >>are indicated as TP. Change the constant to bitwise values.
> >Hmm, I thought IBM/Lenovo owned trackpoint support... Andrew, is it
> >yours now?
> 
> No, it should still be Lenovo's trackpoint.

OK, I see, but are you aware of new firmware with new IDs? I am hesitant
to extend the list for something that hasn't changed for many years.

> 
> Andrew
> 
> >Aaron, what devices have these new trackpoints>?
> >
> >Thanks.
> >
> >>Signed-off-by: Aaron Ma <aaron.ma@canonical.com>
> >>Cc: stable@vger.kernel.org
> >>---
> >>  drivers/input/mouse/trackpoint.c | 3 ++-
> >>  drivers/input/mouse/trackpoint.h | 3 ++-
> >>  2 files changed, 4 insertions(+), 2 deletions(-)
> >>
> >>diff --git a/drivers/input/mouse/trackpoint.c b/drivers/input/mouse/trackpoint.c
> >>index 7331084..9ff0f38 100644
> >>--- a/drivers/input/mouse/trackpoint.c
> >>+++ b/drivers/input/mouse/trackpoint.c
> >>@@ -265,7 +265,8 @@ static int trackpoint_start_protocol(struct psmouse *psmouse, unsigned char *fir
> >>  	if (ps2_command(&psmouse->ps2dev, param, MAKE_PS2_CMD(0, 2, TP_READ_ID)))
> >>  		return -1;
> >>-	if (param[0] != TP_MAGIC_IDENT)
> >>+	/* add new TP ID. */
> >>+	if (!(param[0] & TP_MAGIC_IDENT))
> >>  		return -1;
> >>  	if (firmware_id)
> >>diff --git a/drivers/input/mouse/trackpoint.h b/drivers/input/mouse/trackpoint.h
> >>index 5617ed3..8805575 100644
> >>--- a/drivers/input/mouse/trackpoint.h
> >>+++ b/drivers/input/mouse/trackpoint.h
> >>@@ -21,8 +21,9 @@
> >>  #define TP_COMMAND		0xE2	/* Commands start with this */
> >>  #define TP_READ_ID		0xE1	/* Sent for device identification */
> >>-#define TP_MAGIC_IDENT		0x01	/* Sent after a TP_READ_ID followed */
> >>+#define TP_MAGIC_IDENT		0x03	/* Sent after a TP_READ_ID followed */
> >>  					/* by the firmware ID */
> >>+					/* Firmware ID includes 0x1, 0x2, 0x3 */
> >>  /*
> >>-- 
> >>2.9.3
> >>
> 

-- 
Dmitry

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web