diff mbox series

[v4,43/79] media: i2c: ov2659: use pm_runtime_resume_and_get()

Message ID 05a26c6f0f7798e9bc7a04845b3e3f32d9fcb659.1619621413.git.mchehab+huawei@kernel.org
State Superseded
Headers show
Series Address some issues with PM runtime at media subsystem | expand

Commit Message

Mauro Carvalho Chehab April 28, 2021, 2:52 p.m. UTC
Commit dd8088d5a896 ("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: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 drivers/media/i2c/ov2659.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

Comments

Lad, Prabhakar May 3, 2021, 12:30 p.m. UTC | #1
Hi Mauro,

Thank you for the patch.

On Wed, Apr 28, 2021 at 3:52 PM Mauro Carvalho Chehab
<mchehab+huawei@kernel.org> wrote:
>

> Commit dd8088d5a896 ("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: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>

> ---

>  drivers/media/i2c/ov2659.c | 6 ++----

>  1 file changed, 2 insertions(+), 4 deletions(-)

>

Acked-by: Lad Prabhakar <prabhakar.csengg@gmail.com>


Cheers,
Prabhakar

> diff --git a/drivers/media/i2c/ov2659.c b/drivers/media/i2c/ov2659.c

> index 42f64175a6df..a3c8eae68486 100644

> --- a/drivers/media/i2c/ov2659.c

> +++ b/drivers/media/i2c/ov2659.c

> @@ -1186,11 +1186,9 @@ static int ov2659_s_stream(struct v4l2_subdev *sd, int on)

>                 goto unlock;

>         }

>

> -       ret = pm_runtime_get_sync(&client->dev);

> -       if (ret < 0) {

> -               pm_runtime_put_noidle(&client->dev);

> +       ret = pm_runtime_resume_and_get(&client->dev);

> +       if (ret < 0)

>                 goto unlock;

> -       }

>

>         ret = ov2659_init(sd, 0);

>         if (!ret)

> --

> 2.30.2

>
diff mbox series

Patch

diff --git a/drivers/media/i2c/ov2659.c b/drivers/media/i2c/ov2659.c
index 42f64175a6df..a3c8eae68486 100644
--- a/drivers/media/i2c/ov2659.c
+++ b/drivers/media/i2c/ov2659.c
@@ -1186,11 +1186,9 @@  static int ov2659_s_stream(struct v4l2_subdev *sd, int on)
 		goto unlock;
 	}
 
-	ret = pm_runtime_get_sync(&client->dev);
-	if (ret < 0) {
-		pm_runtime_put_noidle(&client->dev);
+	ret = pm_runtime_resume_and_get(&client->dev);
+	if (ret < 0)
 		goto unlock;
-	}
 
 	ret = ov2659_init(sd, 0);
 	if (!ret)