i2c: tegra: Simplify I2C resume
authorJon Hunter <jonathanh@nvidia.com>
Fri, 26 Aug 2016 13:09:03 +0000 (14:09 +0100)
committerWolfram Sang <wsa@the-dreams.de>
Tue, 30 Aug 2016 20:00:08 +0000 (22:00 +0200)
The I2C adapter is unlocked regardless of whether the tegra_i2c_init()
called during the resume is successful or not. However, if the
tegra_i2c_init() is not successful, then ->is_suspended is not set to
false. Simplify the resume code by only setting ->is_suspended to false
if tegra_i2c_init() is successful and return the error code from
tegra_i2c_init().

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Acked-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-tegra.c

index bdb50258a9a84c59b4c6ac786434e181bfb30392..3c27012fa96ce1cbaf012cdf764db9c55cd30bab 100644 (file)
@@ -989,17 +989,12 @@ static int tegra_i2c_resume(struct device *dev)
        i2c_lock_adapter(&i2c_dev->adapter);
 
        ret = tegra_i2c_init(i2c_dev);
-
-       if (ret) {
-               i2c_unlock_adapter(&i2c_dev->adapter);
-               return ret;
-       }
-
-       i2c_dev->is_suspended = false;
+       if (!ret)
+               i2c_dev->is_suspended = false;
 
        i2c_unlock_adapter(&i2c_dev->adapter);
 
-       return 0;
+       return ret;
 }
 
 static SIMPLE_DEV_PM_OPS(tegra_i2c_pm, tegra_i2c_suspend, tegra_i2c_resume);