iio: accel: mma8452: Balance runtime pm + use pm_runtime_resume_and_get()
[linux-2.6-microblaze.git] / drivers / iio / accel / mma8452.c
index 464a6bf..715b813 100644 (file)
@@ -221,7 +221,7 @@ static int mma8452_set_runtime_pm_state(struct i2c_client *client, bool on)
        int ret;
 
        if (on) {
-               ret = pm_runtime_get_sync(&client->dev);
+               ret = pm_runtime_resume_and_get(&client->dev);
        } else {
                pm_runtime_mark_last_busy(&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) {
                dev_err(&client->dev,
                        "failed to change power state to %d\n", on);
-               if (on)
-                       pm_runtime_put_noidle(&client->dev);
 
                return ret;
        }
@@ -1711,7 +1709,6 @@ static int mma8452_remove(struct i2c_client *client)
 
        pm_runtime_disable(&client->dev);
        pm_runtime_set_suspended(&client->dev);
-       pm_runtime_put_noidle(&client->dev);
 
        iio_triggered_buffer_cleanup(indio_dev);
        mma8452_trigger_cleanup(indio_dev);