mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-05 18:39:59 +00:00
iio: accel: mma8452: Balance runtime pm + use pm_runtime_resume_and_get()
Remove() callback calls pm_runtime_put_noidle() but there it is not balancing a get. No actual affect because the runtime pm core prevents the reference count going negative. Whilst here use pm_runtime_resume_and_get() rather than open coded version. Again, coccinelle script missed this one due to more complex code structure. Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Cc: Sean Nyekjaer <sean@geanix.com> Reviewed-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Link: https://lore.kernel.org/r/20210509113354.660190-6-jic23@kernel.org
This commit is contained in:
parent
934616e8eb
commit
5937b860e9
1 changed files with 1 additions and 4 deletions
|
@ -221,7 +221,7 @@ static int mma8452_set_runtime_pm_state(struct i2c_client *client, bool on)
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (on) {
|
if (on) {
|
||||||
ret = pm_runtime_get_sync(&client->dev);
|
ret = pm_runtime_resume_and_get(&client->dev);
|
||||||
} else {
|
} else {
|
||||||
pm_runtime_mark_last_busy(&client->dev);
|
pm_runtime_mark_last_busy(&client->dev);
|
||||||
ret = pm_runtime_put_autosuspend(&client->dev);
|
ret = pm_runtime_put_autosuspend(&client->dev);
|
||||||
|
@ -230,8 +230,6 @@ static int mma8452_set_runtime_pm_state(struct i2c_client *client, bool on)
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
dev_err(&client->dev,
|
dev_err(&client->dev,
|
||||||
"failed to change power state to %d\n", on);
|
"failed to change power state to %d\n", on);
|
||||||
if (on)
|
|
||||||
pm_runtime_put_noidle(&client->dev);
|
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -1711,7 +1709,6 @@ static int mma8452_remove(struct i2c_client *client)
|
||||||
|
|
||||||
pm_runtime_disable(&client->dev);
|
pm_runtime_disable(&client->dev);
|
||||||
pm_runtime_set_suspended(&client->dev);
|
pm_runtime_set_suspended(&client->dev);
|
||||||
pm_runtime_put_noidle(&client->dev);
|
|
||||||
|
|
||||||
iio_triggered_buffer_cleanup(indio_dev);
|
iio_triggered_buffer_cleanup(indio_dev);
|
||||||
mma8452_trigger_cleanup(indio_dev);
|
mma8452_trigger_cleanup(indio_dev);
|
||||||
|
|
Loading…
Reference in a new issue