i2c: davinci: using pm_runtime_resume_and_get instead of pm_runtime_get_sync
authorMinghao Chi <chi.minghao@zte.com.cn>
Thu, 14 Apr 2022 09:07:27 +0000 (09:07 +0000)
committerWolfram Sang <wsa@kernel.org>
Wed, 4 May 2022 20:40:35 +0000 (22:40 +0200)
Using pm_runtime_resume_and_get() to replace pm_runtime_get_sync and
pm_runtime_put_noidle. This change is just to simplify the code, no
actual functional changes.

Reported-by: Zeal Robot <zealci@zte.com.cn>
Signed-off-by: Minghao Chi <chi.minghao@zte.com.cn>
Reviewed-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-davinci.c

index e9d07323c6049d96e6af5ed2fc7a271fe5013a9c..9e09db31a937e5e72df2399ca0893fc527bd8b91 100644 (file)
@@ -539,10 +539,9 @@ i2c_davinci_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
 
        dev_dbg(dev->dev, "%s: msgs: %d\n", __func__, num);
 
-       ret = pm_runtime_get_sync(dev->dev);
+       ret = pm_runtime_resume_and_get(dev->dev);
        if (ret < 0) {
                dev_err(dev->dev, "Failed to runtime_get device: %d\n", ret);
-               pm_runtime_put_noidle(dev->dev);
                return ret;
        }
 
@@ -821,10 +820,9 @@ static int davinci_i2c_probe(struct platform_device *pdev)
 
        pm_runtime_enable(dev->dev);
 
-       r = pm_runtime_get_sync(dev->dev);
+       r = pm_runtime_resume_and_get(dev->dev);
        if (r < 0) {
                dev_err(dev->dev, "failed to runtime_get device: %d\n", r);
-               pm_runtime_put_noidle(dev->dev);
                return r;
        }
 
@@ -898,11 +896,9 @@ static int davinci_i2c_remove(struct platform_device *pdev)
 
        i2c_del_adapter(&dev->adapter);
 
-       ret = pm_runtime_get_sync(&pdev->dev);
-       if (ret < 0) {
-               pm_runtime_put_noidle(&pdev->dev);
+       ret = pm_runtime_resume_and_get(&pdev->dev);
+       if (ret < 0)
                return ret;
-       }
 
        davinci_i2c_write_reg(dev, DAVINCI_I2C_MDR_REG, 0);