diff --git a/drivers/i2c/busses/i2c-sprd.c b/drivers/i2c/busses/i2c-sprd.c index a94e724f51dcf5787b808881486acb1e44b689b9..2f82ec2c8ce5e5e1922fef9702913d971534df4a 100644 --- a/drivers/i2c/busses/i2c-sprd.c +++ b/drivers/i2c/busses/i2c-sprd.c @@ -287,7 +287,7 @@ static int sprd_i2c_master_xfer(struct i2c_adapter *i2c_adap, if (i2c_dev->is_suspended) return -EBUSY; - ret = pm_runtime_get_sync(i2c_dev->dev); + ret = pm_runtime_resume_and_get(i2c_dev->dev); if (ret < 0) return ret; @@ -573,7 +573,7 @@ static int sprd_i2c_remove(struct platform_device *pdev) struct sprd_i2c *i2c_dev = platform_get_drvdata(pdev); int ret; - ret = pm_runtime_get_sync(i2c_dev->dev); + ret = pm_runtime_resume_and_get(i2c_dev->dev); if (ret < 0) return ret; diff --git a/drivers/i2c/busses/i2c-sprd.c.rej b/drivers/i2c/busses/i2c-sprd.c.rej new file mode 100644 index 0000000000000000000000000000000000000000..05c7b4861b4680f926f7b70dc6c547f2525174c4 --- /dev/null +++ b/drivers/i2c/busses/i2c-sprd.c.rej @@ -0,0 +1,10 @@ +diff a/drivers/i2c/busses/i2c-sprd.c b/drivers/i2c/busses/i2c-sprd.c (rejected hunks) +@@ -283,7 +283,7 @@ static int sprd_i2c_master_xfer(struct i2c_adapter *i2c_adap, + struct sprd_i2c *i2c_dev = i2c_adap->algo_data; + int im, ret; + +- ret = pm_runtime_get_sync(i2c_dev->dev); ++ ret = pm_runtime_resume_and_get(i2c_dev->dev); + if (ret < 0) + return ret; +