Commit d508fffb authored by Sakari Ailus's avatar Sakari Ailus Committed by Mauro Carvalho Chehab

media: ov5670, ov13858: Use pm_runtime_idle

Replace the calls to pm_runtime_get_noresume() and pm_runtime_put() with
pm_runtime_idle() in the driver's probe function. This will have the same
effect with fewer calls. pm_runtime_disable() in remove is sufficient as
the device is already in RPM_SUSPENDED state.
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent 361f3803
...@@ -1735,10 +1735,9 @@ static int ov13858_probe(struct i2c_client *client, ...@@ -1735,10 +1735,9 @@ static int ov13858_probe(struct i2c_client *client,
* Device is already turned on by i2c-core with ACPI domain PM. * Device is already turned on by i2c-core with ACPI domain PM.
* Enable runtime PM and turn off the device. * Enable runtime PM and turn off the device.
*/ */
pm_runtime_get_noresume(&client->dev);
pm_runtime_set_active(&client->dev); pm_runtime_set_active(&client->dev);
pm_runtime_enable(&client->dev); pm_runtime_enable(&client->dev);
pm_runtime_put(&client->dev); pm_runtime_idle(&client->dev);
return 0; return 0;
...@@ -1761,14 +1760,7 @@ static int ov13858_remove(struct i2c_client *client) ...@@ -1761,14 +1760,7 @@ static int ov13858_remove(struct i2c_client *client)
media_entity_cleanup(&sd->entity); media_entity_cleanup(&sd->entity);
ov13858_free_controls(ov13858); ov13858_free_controls(ov13858);
/*
* Disable runtime PM but keep the device turned on.
* i2c-core with ACPI domain PM will turn off the device.
*/
pm_runtime_get_sync(&client->dev);
pm_runtime_disable(&client->dev); pm_runtime_disable(&client->dev);
pm_runtime_set_suspended(&client->dev);
pm_runtime_put_noidle(&client->dev);
return 0; return 0;
} }
......
...@@ -2504,10 +2504,9 @@ static int ov5670_probe(struct i2c_client *client) ...@@ -2504,10 +2504,9 @@ static int ov5670_probe(struct i2c_client *client)
* Device is already turned on by i2c-core with ACPI domain PM. * Device is already turned on by i2c-core with ACPI domain PM.
* Enable runtime PM and turn off the device. * Enable runtime PM and turn off the device.
*/ */
pm_runtime_get_noresume(&client->dev);
pm_runtime_set_active(&client->dev); pm_runtime_set_active(&client->dev);
pm_runtime_enable(&client->dev); pm_runtime_enable(&client->dev);
pm_runtime_put(&client->dev); pm_runtime_idle(&client->dev);
return 0; return 0;
...@@ -2536,14 +2535,7 @@ static int ov5670_remove(struct i2c_client *client) ...@@ -2536,14 +2535,7 @@ static int ov5670_remove(struct i2c_client *client)
v4l2_ctrl_handler_free(sd->ctrl_handler); v4l2_ctrl_handler_free(sd->ctrl_handler);
mutex_destroy(&ov5670->mutex); mutex_destroy(&ov5670->mutex);
/*
* Disable runtime PM but keep the device turned on.
* i2c-core with ACPI domain PM will turn off the device.
*/
pm_runtime_get_sync(&client->dev);
pm_runtime_disable(&client->dev); pm_runtime_disable(&client->dev);
pm_runtime_set_suspended(&client->dev);
pm_runtime_put_noidle(&client->dev);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment