summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Wilson <evan@oliodevices.com>2016-03-01 01:46:09 -0800
committerEvan Wilson <evan@oliodevices.com>2016-03-01 01:46:09 -0800
commit411509515867d0b8e5248850c0efa69a12b588c3 (patch)
treea0187d8d85490320587a7e8aa8c9b771df4c5c67
parent50fa99d1eada28b66447211e9256456f60cdcd04 (diff)
downloadolio-linux-3.10-411509515867d0b8e5248850c0efa69a12b588c3.tar.xz
olio-linux-3.10-411509515867d0b8e5248850c0efa69a12b588c3.zip
be paranoid about enabling the accelerometer interrupt before sleeping
Change-Id: I7164606f092aba48f466bf1de72e37f5807a7acb Conflicts: drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c
-rw-r--r--drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c b/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c
index 12dc8cbf1c7..8b8f47d1714 100644
--- a/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c
+++ b/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c
@@ -2204,7 +2204,7 @@ static int check_wai(struct lsm6ds3_data *cdata) {
get_monotonic_boottime(&ts);
current_time = ts.tv_sec;
- //dev_err(cdata->dev, "Last timestamp delta: %d \n", current_time-cdata->irq_timestamp);
+ dev_err(cdata->dev, "Last timestamp delta: %lli \n", current_time-cdata->irq_timestamp);
if(current_time-cdata->irq_timestamp > 15/*minutes*/*60) {
return st_lsm6ds3_reset(cdata, true);
}
@@ -2530,6 +2530,9 @@ int st_lsm6ds3_common_suspend(struct lsm6ds3_data *cdata)
dev_info(cdata->dev, "before suspend 0x13 ctrl4: %x err:%i", reg_value, err);
#endif
+ //ensure that the IRQ is enabled before we sleep
+ st_lsm6ds3_flush_works();
+
return 0;
}
EXPORT_SYMBOL(st_lsm6ds3_common_suspend);