summaryrefslogtreecommitdiff
path: root/drivers/misc
diff options
context:
space:
mode:
authorHunk Lin <hulin@nvidia.com>2012-07-31 00:19:09 +0800
committerSimone Willett <swillett@nvidia.com>2012-08-01 18:10:21 -0700
commit420cba2c46f70f77945653be51656b6ae89d5397 (patch)
tree3dda6dd982fc452b77e82aaaba39ba863a14c28a /drivers/misc
parentee9e01c5345ff373fa1f64024dde5f06d80d498f (diff)
MPU6050: Disable irq when suspend all sensors
When we suspend all sensors, MPU6050 continue generating irqs. So set MPUREG_INT_ENABLE to 0 for saving power. Bug 1021448 Signed-off-by: Hunk Lin <hulin@nvidia.com> Change-Id: I90acb0b5e297c61c205a20b8eb54e6164a4d5b32 Reviewed-on: http://git-master/r/119344 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Prem Sasidharan <psasidharan@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>
Diffstat (limited to 'drivers/misc')
-rw-r--r--drivers/misc/inv_mpu/mpu6050/mldl_cfg.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/misc/inv_mpu/mpu6050/mldl_cfg.c b/drivers/misc/inv_mpu/mpu6050/mldl_cfg.c
index 22af0c200985..920f4ae8a4b7 100644
--- a/drivers/misc/inv_mpu/mpu6050/mldl_cfg.c
+++ b/drivers/misc/inv_mpu/mpu6050/mldl_cfg.c
@@ -1786,6 +1786,16 @@ int inv_mpu_suspend(struct mldl_cfg *mldl_cfg,
return result;
}
}
+ /* Disable irq when suspend all sensors */
+ if (sensors == INV_ALL_SENSORS) {
+ result = inv_serial_single_write(
+ gyro_handle, mldl_cfg->mpu_chip_info->addr,
+ MPUREG_INT_ENABLE, 0);
+ if (result) {
+ LOG_RESULT_LOCATION(result);
+ return result;
+ }
+ }
mldl_cfg->inv_mpu_cfg->requested_sensors = (~sensors) & INV_ALL_SENSORS;
return result;