diff options
author | Hunk Lin <hulin@nvidia.com> | 2012-07-31 00:19:09 +0800 |
---|---|---|
committer | Varun Wadekar <vwadekar@nvidia.com> | 2012-08-06 15:25:10 +0530 |
commit | 3accf5dc74413c4f1842f2bb0a8c612ace18be3a (patch) | |
tree | 05c5bbf47005eb47b89fcbe14e418698d5b54831 /drivers/misc | |
parent | 3c37f2eb95c688dcd7fa510789aed9f5900c18b6 (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; |