[Vivid][SRU][PATCH] #LP1535513 Enable suspend function for i2c-hid device in Vivid

Phidias Chiang phidias.chiang at canonical.com
Mon Feb 15 07:30:04 UTC 2016


BugLink: http://bugs.launchpad.net/bugs/1535513

[Impact]
On some platforms the touchpad relies on pinctrl devices to provide GPIO interrupt, but in 3.19.0 pinctrl-cherryview doesn't support suspend well and will lose the config after suspend/resume, then touchpad can't be used.

Also, there is a racing condition in i2c-hid module which makes touchpad unusable when waking up.

[Fix]
This fix has two parts. First part is to enable the suspend/resume function in pinctrl-cherryview:

commit 9eb457b547cc731bc2fc251bd79891a60c64fc3e
Author: Mika Westerberg <mika.westerberg at linux.intel.com>
Date: Thu Dec 4 12:32:50 2014 +0200

    pinctrl: cherryview: Save and restore pin configs over system sleep

The second part is to eliminate the racing condition in i2c-hid:

commit 9a327405014f4ef4cdad67a0686db82b9f23c62c
Author: Mika Westerberg <mika.westerberg at linux.intel.com>
Date: Mon Dec 21 15:26:31 2015 +0200

    HID: i2c-hid: Prevent sending reports from racing with device reset

[Test]

The test kernel with this patch set passed 10/10 suspend

Mika Westerberg (2):
  pinctrl: cherryview: Save and restore pin configs over system sleep
  HID: i2c-hid: Prevent sending reports from racing with device reset

 drivers/hid/i2c-hid/i2c-hid.c              |  22 +++++-
 drivers/pinctrl/intel/pinctrl-cherryview.c | 104 +++++++++++++++++++++++++++++
 2 files changed, 123 insertions(+), 3 deletions(-)

-- 
2.5.0





More information about the kernel-team mailing list