hid-sensor: Fix suspend/resume delay
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Mon, 1 Jun 2015 23:36:27 +0000 (16:36 -0700)
committerJonathan Cameron <jic23@kernel.org>
Tue, 2 Jun 2015 21:15:26 +0000 (22:15 +0100)
commit1e25aa9641e8f3fa39cd5e46b4afcafd7f12a44b
tree4607182462e095a8bb77e977859a097555a679d5
parente5d732186270e0881f47d95610316c0614b21c3e
hid-sensor: Fix suspend/resume delay

By default all the sensors are runtime suspended state (lowest power
state). During Linux suspend process, all the run time suspended
devices are resumed and then suspended. This caused all sensors to
power up and introduced delay in suspend time, when we introduced
runtime PM for HID sensors. The opposite process happens during resume
process.

To fix this, we do powerup process of the sensors only when the request
is issued from user (raw or tiggerred). In this way when runtime,
resume calls for powerup it will simply return as this will not match
user requested state.

Note this is a regression fix as the increase in suspend / resume
times can be substantial (report of 8 seconds on Len's laptop!)

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Tested-by: Len Brown <len.brown@intel.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/common/hid-sensors/hid-sensor-trigger.c
include/linux/hid-sensor-hub.h