aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>2015-01-07 13:55:58 -0500
committerJonathan Cameron <jic23@kernel.org>2015-01-25 17:55:53 -0500
commit0ef809cf9956c156220155203b0df934f2b2fc14 (patch)
treefebd7b16ab9e37e833a12945a3758db42a3d7f36
parenta357b9b0c5e7ac8276aebd366297d6441e697a27 (diff)
iio: hid-sensor-magn-3d: Introduce PM
Use common hid sensor iio pm functions. Also the poll time read and wait is part of power up function of hid sensor iio pm function, so remove from the client drivers. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
-rw-r--r--drivers/iio/magnetometer/hid-sensor-magn-3d.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/drivers/iio/magnetometer/hid-sensor-magn-3d.c b/drivers/iio/magnetometer/hid-sensor-magn-3d.c
index 6294575d2777..d22993b4066a 100644
--- a/drivers/iio/magnetometer/hid-sensor-magn-3d.c
+++ b/drivers/iio/magnetometer/hid-sensor-magn-3d.c
@@ -157,20 +157,12 @@ static int magn_3d_read_raw(struct iio_dev *indio_dev,
157 int report_id = -1; 157 int report_id = -1;
158 u32 address; 158 u32 address;
159 int ret_type; 159 int ret_type;
160 s32 poll_value;
161 160
162 *val = 0; 161 *val = 0;
163 *val2 = 0; 162 *val2 = 0;
164 switch (mask) { 163 switch (mask) {
165 case 0: 164 case 0:
166 poll_value = hid_sensor_read_poll_value(
167 &magn_state->common_attributes);
168 if (poll_value < 0)
169 return -EINVAL;
170
171 hid_sensor_power_state(&magn_state->common_attributes, true); 165 hid_sensor_power_state(&magn_state->common_attributes, true);
172 msleep_interruptible(poll_value * 2);
173
174 report_id = 166 report_id =
175 magn_state->magn[chan->address].report_id; 167 magn_state->magn[chan->address].report_id;
176 address = magn_3d_addresses[chan->address]; 168 address = magn_3d_addresses[chan->address];
@@ -530,6 +522,7 @@ static struct platform_driver hid_magn_3d_platform_driver = {
530 .id_table = hid_magn_3d_ids, 522 .id_table = hid_magn_3d_ids,
531 .driver = { 523 .driver = {
532 .name = KBUILD_MODNAME, 524 .name = KBUILD_MODNAME,
525 .pm = &hid_sensor_pm_ops,
533 }, 526 },
534 .probe = hid_magn_3d_probe, 527 .probe = hid_magn_3d_probe,
535 .remove = hid_magn_3d_remove, 528 .remove = hid_magn_3d_remove,