i2c: designware: Remove needless pm_runtime_put_noidle() call
authorJarkko Nikula <jarkko.nikula@linux.intel.com>
Tue, 15 Aug 2017 14:34:44 +0000 (17:34 +0300)
committerWolfram Sang <wsa@the-dreams.de>
Thu, 17 Aug 2017 15:55:20 +0000 (17:55 +0200)
I guess pm_runtime_put_noidle() call in i2c_dw_probe_slave() was copied
by accident from similar master mode adapter registration code. It is
unbalanced due missing pm_runtime_get_noresume() but harmless since it
doesn't decrease dev->power.usage_count below zero.

In theory we can hit similar needless runtime suspend/resume cycle
during slave mode adapter registration that was happening when
registering the master mode adapter. See commit cd998ded5c12 ("i2c:
designware: Prevent runtime suspend during adapter registration").

However, since we are slave, we can consider it as a wrong configuration
if we have other slaves attached under this adapter and can omit the
pm_runtime_get_noresume()/pm_runtime_put_noidle() calls for simplicity.

Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-designware-slave.c

index 4b62a3872763b99b7db8e2777a84ee761567efdc..25fa33927124e8ed101d58905e9e59130d2a1ea6 100644 (file)
@@ -382,7 +382,6 @@ int i2c_dw_probe_slave(struct dw_i2c_dev *dev)
        ret = i2c_add_numbered_adapter(adap);
        if (ret)
                dev_err(dev->dev, "failure adding adapter: %d\n", ret);
-       pm_runtime_put_noidle(dev->dev);
 
        return ret;
 }