diff options
author | Hunk Lin <hulin@nvidia.com> | 2012-07-31 00:19:09 +0800 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-08-01 18:10:21 -0700 |
commit | 420cba2c46f70f77945653be51656b6ae89d5397 (patch) | |
tree | 3dda6dd982fc452b77e82aaaba39ba863a14c28a /drivers/misc | |
parent | ee9e01c5345ff373fa1f64024dde5f06d80d498f (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.c | 10 |
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; |