media: stm32: use pm_runtime_resume_and_get()

Commit dd8088d5a8 ("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>
This commit is contained in:
Mauro Carvalho Chehab 2021-04-23 17:19:21 +02:00
parent 67b92f5418
commit 75c573eb70
1 changed files with 3 additions and 2 deletions

View File

@ -723,11 +723,11 @@ static int dcmi_start_streaming(struct vb2_queue *vq, unsigned int count)
u32 val = 0; u32 val = 0;
int ret; int ret;
ret = pm_runtime_get_sync(dcmi->dev); ret = pm_runtime_resume_and_get(dcmi->dev);
if (ret < 0) { if (ret < 0) {
dev_err(dcmi->dev, "%s: Failed to start streaming, cannot get sync (%d)\n", dev_err(dcmi->dev, "%s: Failed to start streaming, cannot get sync (%d)\n",
__func__, ret); __func__, ret);
goto err_pm_put; goto err_unlocked;
} }
ret = media_pipeline_start(&dcmi->vdev->entity, &dcmi->pipeline); ret = media_pipeline_start(&dcmi->vdev->entity, &dcmi->pipeline);
@ -848,6 +848,7 @@ err_media_pipeline_stop:
err_pm_put: err_pm_put:
pm_runtime_put(dcmi->dev); pm_runtime_put(dcmi->dev);
err_unlocked:
spin_lock_irq(&dcmi->irqlock); spin_lock_irq(&dcmi->irqlock);
/* /*
* Return all buffers to vb2 in QUEUED state. * Return all buffers to vb2 in QUEUED state.