Commit e7c018a9 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

media: i2c: mt9m001: use pm_runtime_resume_and_get()



Commit dd8088d5 ("PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter")
added pm_runtime_resume_and_get() in order to automatically handle
dev->power.usage_count decrement on errors.

Use the new API, in order to cleanup the error check logic.

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent 5f070f4d
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -217,9 +217,9 @@ static int mt9m001_s_stream(struct v4l2_subdev *sd, int enable)
		goto done;

	if (enable) {
		ret = pm_runtime_get_sync(&client->dev);
		ret = pm_runtime_resume_and_get(&client->dev);
		if (ret < 0)
			goto put_unlock;
			goto unlock;

		ret = mt9m001_apply_selection(sd);
		if (ret)
@@ -247,6 +247,7 @@ static int mt9m001_s_stream(struct v4l2_subdev *sd, int enable)

put_unlock:
	pm_runtime_put(&client->dev);
unlock:
	mutex_unlock(&mt9m001->mutex);

	return ret;
@@ -834,6 +835,10 @@ static int mt9m001_remove(struct i2c_client *client)
{
	struct mt9m001 *mt9m001 = to_mt9m001(client);

	/*
	 * As it increments RPM usage_count even on errors, we don't need to
	 * check the returned code here.
	 */
	pm_runtime_get_sync(&client->dev);

	v4l2_async_unregister_subdev(&mt9m001->subdev);