Commit 98dc0703 authored by Ramiro Morales's avatar Ramiro Morales Committed by Dmitry Torokhov

Input: synaptics - add quirk for Thinkpad E440

Its ClickPad shares PNP ID "LEN2006" with the one in model E540 which is
already handled by the driver (both are Haswell iterations of the Edge
line, launched in 2014) but the dimensions it reports are different:

  $ sudo ./touchpad-edge-detector /dev/input/event3
  Touchpad SynPS/2 Synaptics TouchPad on /dev/input/event3
  Move one finger around the touchpad to detect the actual edges
  Kernel says: x [1472..5044], y [1408..3398]
  Touchpad sends: x [1024..5045], y [2457..4832] /^C

Fortunately we can use the board ID, which is also different, to
distinguish among them.

  $ dmesg | grep -i synaptics
  psmouse serio1: synaptics: Touchpad model: 1, fw: 8.1, id: 0x1e2b1,
      caps: 0xd001a3/0x940300/0x127c00, board id: 2691, fw id: 1494646
  psmouse serio1: synaptics: serio: Synaptics pass-through port at
      isa0060/serio1/input0
  input: SynPS/2 Synaptics TouchPad as
      /devices/platform/i8042/serio1/input/input4

Board ID in E540 is 2722:

  psmouse serio1: synaptics: Touchpad model: 1, fw: 8.1, id: 0x1e2b1,
      caps: 0xd001a3/0x940300/0x127c00, board id: 2722, fw id: 1484859

(from https://launchpadlibrarian.net/179702965/BootDmesg.txt)
Signed-off-by: default avatarRamiro Morales <cramm0@gmail.com>
Reviewed-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent c164c147
...@@ -152,6 +152,11 @@ static const struct min_max_quirk min_max_pnpid_table[] = { ...@@ -152,6 +152,11 @@ static const struct min_max_quirk min_max_pnpid_table[] = {
{ANY_BOARD_ID, ANY_BOARD_ID}, {ANY_BOARD_ID, ANY_BOARD_ID},
1024, 5022, 2508, 4832 1024, 5022, 2508, 4832
}, },
{
(const char * const []){"LEN2006", NULL},
{2691, 2691},
1024, 5045, 2457, 4632
},
{ {
(const char * const []){"LEN2006", NULL}, (const char * const []){"LEN2006", NULL},
{ANY_BOARD_ID, ANY_BOARD_ID}, {ANY_BOARD_ID, ANY_BOARD_ID},
...@@ -189,7 +194,7 @@ static const char * const topbuttonpad_pnp_ids[] = { ...@@ -189,7 +194,7 @@ static const char * const topbuttonpad_pnp_ids[] = {
"LEN2003", "LEN2003",
"LEN2004", /* L440 */ "LEN2004", /* L440 */
"LEN2005", "LEN2005",
"LEN2006", "LEN2006", /* Edge E440/E540 */
"LEN2007", "LEN2007",
"LEN2008", "LEN2008",
"LEN2009", "LEN2009",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment