diff options
author | David Yu <davyu@nvidia.com> | 2014-02-24 22:04:21 +0900 |
---|---|---|
committer | Harry Hong <hhong@nvidia.com> | 2014-03-03 17:19:43 -0800 |
commit | bbb144442c78e3147d12e5f54f19d251cba79ad5 (patch) | |
tree | fd3fb028f6e3e1f792ddb243feadee67dcce4429 /drivers | |
parent | 935f3cdc63c5807ee235b4180b16d251040c56a3 (diff) |
input: misc: mpu: fix i2c error on resume
Bug 1461473
Change-Id: I8ea056783729b95045a9ff1ddc8d75474fee6638
Signed-off-by: David Yu <davyu@nvidia.com>
Reviewed-on: http://git-master/r/373605
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Erik Lilliebjerg <elilliebjerg@nvidia.com>
Reviewed-by: Robert Collins <rcollins@nvidia.com>
Reviewed-by: Harry Hong <hhong@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/input/misc/mpu/inv_gyro.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/input/misc/mpu/inv_gyro.c b/drivers/input/misc/mpu/inv_gyro.c index 152674f25a14..9b67b9f88748 100644 --- a/drivers/input/misc/mpu/inv_gyro.c +++ b/drivers/input/misc/mpu/inv_gyro.c @@ -4355,7 +4355,15 @@ static int nvi_resume(struct device *dev) inf = dev_get_drvdata(dev); inf->suspend = false; - nvi_pm(inf, NVI_PM_ON_FULL); + if (inf->chip_config.accl_enable || inf->chip_config.gyro_enable) { + mutex_lock(&inf->mutex); + nvi_pm(inf, NVI_PM_ON); + if (inf->chip_config.gyro_enable) + nvi_gyro_config_wr(inf, 0, inf->chip_config.gyro_fsr); + nvi_global_delay(inf); + nvi_pm(inf, NVI_PM_AUTO); + mutex_unlock(&inf->mutex); + } enable_irq(inf->i2c->irq); if (inf->dbg & NVI_DBG_SPEW_MSG) dev_info(dev, "%s done\n", __func__); |