| From ec667683c532c93fb41e100e5d61a518971060e2 Mon Sep 17 00:00:00 2001 |
| From: Aaron Ma <aaron.ma@canonical.com> |
| Date: Fri, 18 Aug 2017 12:17:21 -0700 |
| Subject: Input: trackpoint - add new trackpoint firmware ID |
| |
| From: Aaron Ma <aaron.ma@canonical.com> |
| |
| commit ec667683c532c93fb41e100e5d61a518971060e2 upstream. |
| |
| 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. |
| |
| This makes trackpoint to be recognized on Lenovo Carbon X1 Gen5 instead |
| of it being identified as "PS/2 Generic Mouse". |
| |
| Signed-off-by: Aaron Ma <aaron.ma@canonical.com> |
| Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/input/mouse/trackpoint.c | 3 ++- |
| drivers/input/mouse/trackpoint.h | 3 ++- |
| 2 files changed, 4 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/input/mouse/trackpoint.c |
| +++ b/drivers/input/mouse/trackpoint.c |
| @@ -263,7 +263,8 @@ static int trackpoint_start_protocol(str |
| 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) |
| --- 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 */ |
| |
| |
| /* |