diff options
author | Fu, Zhonghui <[email protected]> | 2016-05-19 10:46:24 +0800 |
---|---|---|
committer | Jiri Kosina <[email protected]> | 2016-06-06 10:40:59 +0200 |
commit | 982e42d655ad9a579147e0feaf9a050b57d3d71e (patch) | |
tree | 084e6cbf121be7ffd1418f2613a61b0492ca16ce | |
parent | dcc4c2f61cdc7e0ab61b25b8d28205302497a8c4 (diff) |
HID: i2c_hid: enable i2c-hid devices to suspend/resume asynchronously
i2c-hid devices' suspend/resume are usually time-consuming process.
For example, the touch controller(i2c-ATML1000:00) on ASUS T100 tablet
takes about 160ms for suspending and 120ms for resuming. This patch
enables i2c-hid devices to suspend/resume asynchronously. This will
take advantage of multicore and speed up system suspend/resume process.
Signed-off-by: Zhonghui Fu <[email protected]>
Acked-by: Benjamin Tissoires <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
-rw-r--r-- | drivers/hid/i2c-hid/i2c-hid.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/hid/i2c-hid/i2c-hid.c b/drivers/hid/i2c-hid/i2c-hid.c index 2e021ba8ff05..cc41e1ef8255 100644 --- a/drivers/hid/i2c-hid/i2c-hid.c +++ b/drivers/hid/i2c-hid/i2c-hid.c @@ -1020,6 +1020,7 @@ static int i2c_hid_probe(struct i2c_client *client, pm_runtime_get_noresume(&client->dev); pm_runtime_set_active(&client->dev); pm_runtime_enable(&client->dev); + device_enable_async_suspend(&client->dev); ret = i2c_hid_fetch_hid_descriptor(ihid); if (ret < 0) |