All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
To: unlisted-recipients:; (no To-header on input)
Cc: linuxarm@huawei.com, mauro.chehab@huawei.com,
	Mauro Carvalho Chehab <mchehab+huawei@kernel.org>,
	Andy Gross <agross@kernel.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Robert Foss <robert.foss@linaro.org>,
	Todor Tomov <todor.too@gmail.com>,
	linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-media@vger.kernel.org
Subject: [PATCH v3 65/79] media: camss: use pm_runtime_resume_and_get()
Date: Tue, 27 Apr 2021 12:26:55 +0200	[thread overview]
Message-ID: <9eebf979608bdbd1780c226383bb084ff8041aa1.1619519080.git.mchehab+huawei@kernel.org> (raw)
In-Reply-To: <cover.1619519080.git.mchehab+huawei@kernel.org>

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.

Reviewed-by: Robert Foss <robert.foss@linaro.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 drivers/media/platform/qcom/camss/camss-csid.c   | 6 ++----
 drivers/media/platform/qcom/camss/camss-csiphy.c | 6 ++----
 drivers/media/platform/qcom/camss/camss-ispif.c  | 6 ++----
 drivers/media/platform/qcom/camss/camss-vfe.c    | 5 +++--
 4 files changed, 9 insertions(+), 14 deletions(-)

diff --git a/drivers/media/platform/qcom/camss/camss-csid.c b/drivers/media/platform/qcom/camss/camss-csid.c
index cc11fbfdae13..d2a7f2a64f26 100644
--- a/drivers/media/platform/qcom/camss/camss-csid.c
+++ b/drivers/media/platform/qcom/camss/camss-csid.c
@@ -156,11 +156,9 @@ static int csid_set_power(struct v4l2_subdev *sd, int on)
 	int ret;
 
 	if (on) {
-		ret = pm_runtime_get_sync(dev);
-		if (ret < 0) {
-			pm_runtime_put_sync(dev);
+		ret = pm_runtime_resume_and_get(dev);
+		if (ret < 0)
 			return ret;
-		}
 
 		ret = regulator_enable(csid->vdda);
 		if (ret < 0) {
diff --git a/drivers/media/platform/qcom/camss/camss-csiphy.c b/drivers/media/platform/qcom/camss/camss-csiphy.c
index b3c3bf19e522..8e18b8e668cf 100644
--- a/drivers/media/platform/qcom/camss/camss-csiphy.c
+++ b/drivers/media/platform/qcom/camss/camss-csiphy.c
@@ -197,11 +197,9 @@ static int csiphy_set_power(struct v4l2_subdev *sd, int on)
 	if (on) {
 		int ret;
 
-		ret = pm_runtime_get_sync(dev);
-		if (ret < 0) {
-			pm_runtime_put_sync(dev);
+		ret = pm_runtime_resume_and_get(dev);
+		if (ret < 0)
 			return ret;
-		}
 
 		ret = csiphy_set_clock_rates(csiphy);
 		if (ret < 0) {
diff --git a/drivers/media/platform/qcom/camss/camss-ispif.c b/drivers/media/platform/qcom/camss/camss-ispif.c
index 37611c8861da..d9907742ba79 100644
--- a/drivers/media/platform/qcom/camss/camss-ispif.c
+++ b/drivers/media/platform/qcom/camss/camss-ispif.c
@@ -372,11 +372,9 @@ static int ispif_set_power(struct v4l2_subdev *sd, int on)
 			goto exit;
 		}
 
-		ret = pm_runtime_get_sync(dev);
-		if (ret < 0) {
-			pm_runtime_put_sync(dev);
+		ret = pm_runtime_resume_and_get(dev);
+		if (ret < 0)
 			goto exit;
-		}
 
 		ret = camss_enable_clocks(ispif->nclocks, ispif->clock, dev);
 		if (ret < 0) {
diff --git a/drivers/media/platform/qcom/camss/camss-vfe.c b/drivers/media/platform/qcom/camss/camss-vfe.c
index 15695fd466c4..cf743e61f798 100644
--- a/drivers/media/platform/qcom/camss/camss-vfe.c
+++ b/drivers/media/platform/qcom/camss/camss-vfe.c
@@ -584,9 +584,9 @@ static int vfe_get(struct vfe_device *vfe)
 		if (ret < 0)
 			goto error_pm_domain;
 
-		ret = pm_runtime_get_sync(vfe->camss->dev);
+		ret = pm_runtime_resume_and_get(vfe->camss->dev);
 		if (ret < 0)
-			goto error_pm_runtime_get;
+			goto error_domain_off;
 
 		ret = vfe_set_clock_rates(vfe);
 		if (ret < 0)
@@ -620,6 +620,7 @@ static int vfe_get(struct vfe_device *vfe)
 
 error_pm_runtime_get:
 	pm_runtime_put_sync(vfe->camss->dev);
+error_domain_off:
 	vfe->ops->pm_domain_off(vfe);
 
 error_pm_domain:
-- 
2.30.2


  parent reply	other threads:[~2021-04-27 10:28 UTC|newest]

Thread overview: 154+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-27 10:25 [PATCH v3 00/79] Address some issues with PM runtime at media subsystem Mauro Carvalho Chehab
2021-04-27 10:25 ` Mauro Carvalho Chehab
2021-04-27 10:25 ` Mauro Carvalho Chehab
2021-04-27 10:25 ` [PATCH v3 01/79] media: venus: fix PM runtime logic at venus_sys_error_handler() Mauro Carvalho Chehab
2021-04-27 10:25 ` [PATCH v3 02/79] media: i2c: ccs-core: return the right error code at suspend Mauro Carvalho Chehab
2021-04-27 10:25 ` [PATCH v3 03/79] media: i2c: mt9m001: don't resume at remove time Mauro Carvalho Chehab
2021-04-27 10:25 ` [PATCH v3 04/79] media: i2c: ov7740: " Mauro Carvalho Chehab
2021-04-27 10:25 ` [PATCH v3 05/79] media: i2c: video-i2c: " Mauro Carvalho Chehab
2021-04-27 10:25 ` [PATCH v3 06/79] media: exynos-gsc: " Mauro Carvalho Chehab
2021-04-27 10:25   ` Mauro Carvalho Chehab
2021-04-27 11:21   ` Sylwester Nawrocki
2021-04-27 11:21     ` Sylwester Nawrocki
2021-04-27 10:25 ` [PATCH v3 07/79] media: atmel: properly get pm_runtime Mauro Carvalho Chehab
2021-04-27 10:25   ` Mauro Carvalho Chehab
2021-04-27 10:25 ` [PATCH v3 08/79] media: marvel-ccic: fix some issues when getting pm_runtime Mauro Carvalho Chehab
2021-04-27 10:25 ` [PATCH v3 09/79] media: mdk-mdp: fix pm_runtime_get_sync() usage count Mauro Carvalho Chehab
2021-04-27 10:25   ` Mauro Carvalho Chehab
2021-04-27 10:25   ` Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 10/79] media: rcar_fdp1: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 11/79] media: rga-buf: use pm_runtime_resume_and_get() Mauro Carvalho Chehab
2021-04-27 10:26   ` Mauro Carvalho Chehab
2021-04-27 10:26   ` Mauro Carvalho Chehab
2021-04-28 17:10   ` Ezequiel Garcia
2021-04-28 17:10     ` Ezequiel Garcia
2021-04-28 17:10     ` Ezequiel Garcia
2021-04-27 10:26 ` [PATCH v3 12/79] media: renesas-ceu: Properly check for PM errors Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 13/79] media: s5p: fix pm_runtime_get_sync() usage count Mauro Carvalho Chehab
2021-04-27 10:36   ` Marek Szyprowski
2021-04-27 10:51   ` Sylwester Nawrocki
2021-04-28  7:41     ` Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 14/79] media: am437x: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 15/79] media: sh_vou: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 16/79] media: mtk-vcodec: " Mauro Carvalho Chehab
2021-04-27 10:26   ` Mauro Carvalho Chehab
2021-04-27 10:26   ` Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 17/79] media: s5p-jpeg: " Mauro Carvalho Chehab
2021-04-27 10:26   ` Mauro Carvalho Chehab
2021-04-27 12:36   ` Andrzej Pietrasiewicz
2021-04-27 12:36     ` Andrzej Pietrasiewicz
2021-04-27 10:26 ` [PATCH v3 18/79] media: delta-v4l2: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 19/79] media: sun8i_rotate: " Mauro Carvalho Chehab
2021-04-27 10:26   ` Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 20/79] staging: media: rkvdec: " Mauro Carvalho Chehab
2021-04-27 10:26   ` Mauro Carvalho Chehab
2021-04-27 10:26   ` Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 21/79] staging: media: atomisp_fops: use pm_runtime_resume_and_get() Mauro Carvalho Chehab
2021-04-27 10:26   ` Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 22/79] staging: media: imx7-mipi-csis: " Mauro Carvalho Chehab
2021-04-27 10:26   ` Mauro Carvalho Chehab
2021-04-27 10:26   ` Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 23/79] staging: media: ipu3: " Mauro Carvalho Chehab
2021-04-27 10:26   ` Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 24/79] staging: media: cedrus_video: " Mauro Carvalho Chehab
2021-04-27 10:26   ` Mauro Carvalho Chehab
2021-04-27 10:26   ` Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 25/79] staging: media: vde: " Mauro Carvalho Chehab
2021-04-27 10:26   ` Mauro Carvalho Chehab
2021-04-27 11:47   ` Dmitry Osipenko
2021-04-27 11:47     ` Dmitry Osipenko
2021-04-28  7:20     ` Mauro Carvalho Chehab
2021-04-28  7:20       ` Mauro Carvalho Chehab
2021-04-28  8:05       ` Dmitry Osipenko
2021-04-28  8:05         ` Dmitry Osipenko
2021-04-27 10:26 ` [PATCH v3 26/79] staging: media: csi: " Mauro Carvalho Chehab
2021-04-27 10:26   ` Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 27/79] staging: media: vi: " Mauro Carvalho Chehab
2021-04-27 10:26   ` Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 28/79] media: i2c: ak7375: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 29/79] media: i2c: ccs-core: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 30/79] media: i2c: dw9714: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 31/79] media: i2c: dw9768: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 32/79] media: i2c: dw9807-vcm: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 33/79] media: i2c: hi556: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 34/79] media: i2c: imx214: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 35/79] media: i2c: imx219: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 36/79] media: i2c: imx258: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 37/79] media: i2c: imx274: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 38/79] media: i2c: imx290: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 39/79] media: i2c: imx319: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 40/79] media: i2c: imx334: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 41/79] media: i2c: imx355: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 42/79] media: i2c: mt9m001: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 43/79] media: i2c: ov02a10: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 44/79] media: i2c: ov13858: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 45/79] media: i2c: ov2659: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 46/79] media: i2c: ov2685: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 47/79] media: i2c: ov2740: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 48/79] media: i2c: ov5647: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 49/79] media: i2c: ov5648: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 50/79] media: i2c: ov5670: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 51/79] media: i2c: ov5675: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 52/79] media: i2c: ov5695: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 53/79] media: i2c: ov7740: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 54/79] media: i2c: ov8856: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 55/79] media: i2c: ov8865: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 56/79] media: i2c: ov9734: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 57/79] media: i2c: tvp5150: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 58/79] media: i2c: video-i2c: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 59/79] media: sti/hva: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 60/79] media: ipu3: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 61/79] media: coda: " Mauro Carvalho Chehab
2021-04-27 10:54   ` Philipp Zabel
2021-04-27 10:26 ` [PATCH v3 62/79] media: exynos4-is: " Mauro Carvalho Chehab
2021-04-27 10:26   ` Mauro Carvalho Chehab
2021-04-27 10:45   ` Sylwester Nawrocki
2021-04-27 10:45     ` Sylwester Nawrocki
2021-04-27 10:26 ` [PATCH v3 63/79] media: exynos-gsc: " Mauro Carvalho Chehab
2021-04-27 10:26   ` Mauro Carvalho Chehab
2021-04-27 10:47   ` Sylwester Nawrocki
2021-04-27 10:47     ` Sylwester Nawrocki
2021-04-27 10:26 ` [PATCH v3 64/79] media: mtk-jpeg: " Mauro Carvalho Chehab
2021-04-27 10:26   ` Mauro Carvalho Chehab
2021-04-27 10:26   ` Mauro Carvalho Chehab
2021-04-27 10:26 ` Mauro Carvalho Chehab [this message]
2021-04-27 10:26 ` [PATCH v3 66/79] media: venus: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 67/79] media: venus: vdec: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 68/79] media: venus: venc: " Mauro Carvalho Chehab
2021-04-27 10:26 ` [PATCH v3 69/79] media: rcar-fcp: " Mauro Carvalho Chehab
2021-04-27 10:27 ` [PATCH v3 70/79] media: rkisp1: " Mauro Carvalho Chehab
2021-04-27 10:27   ` Mauro Carvalho Chehab
2021-04-27 10:27   ` Mauro Carvalho Chehab
2021-04-27 10:27 ` [PATCH v3 71/79] media: s3c-camif: " Mauro Carvalho Chehab
2021-04-27 10:59   ` Sylwester Nawrocki
2021-04-27 10:27 ` [PATCH v3 72/79] media: s5p-mfc: " Mauro Carvalho Chehab
2021-04-27 10:27   ` Mauro Carvalho Chehab
2021-04-27 10:27 ` [PATCH v3 73/79] media: bdisp-v4l2: " Mauro Carvalho Chehab
2021-04-27 10:27 ` [PATCH v3 74/79] media: stm32: " Mauro Carvalho Chehab
2021-04-27 10:27   ` Mauro Carvalho Chehab
2021-04-27 10:27 ` [PATCH v3 75/79] media: sunxi: " Mauro Carvalho Chehab
2021-04-27 10:27   ` Mauro Carvalho Chehab
2021-04-27 10:27 ` [PATCH v3 76/79] media: ti-vpe: " Mauro Carvalho Chehab
2021-04-27 10:27 ` [PATCH v3 77/79] media: vsp1: " Mauro Carvalho Chehab
2021-04-27 10:27 ` [PATCH v3 78/79] media: rcar-vin: " Mauro Carvalho Chehab
2021-04-27 10:34   ` Geert Uytterhoeven
2021-04-27 20:12   ` Niklas Söderlund
2021-04-28  6:16     ` Mauro Carvalho Chehab
2021-04-27 10:27 ` [PATCH v3 79/79] media: hantro: document the usage of pm_runtime_get_sync() Mauro Carvalho Chehab
2021-04-27 10:27   ` Mauro Carvalho Chehab
2021-04-27 10:27   ` Mauro Carvalho Chehab
2021-04-27 15:08   ` Robin Murphy
2021-04-27 15:08     ` Robin Murphy
2021-04-27 15:08     ` Robin Murphy
2021-04-27 15:18     ` Ezequiel Garcia
2021-04-27 15:18       ` Ezequiel Garcia
2021-04-27 15:18       ` Ezequiel Garcia
2021-04-28  6:27       ` Mauro Carvalho Chehab
2021-04-28  6:27         ` Mauro Carvalho Chehab
2021-04-28  6:27         ` Mauro Carvalho Chehab
2021-04-28  6:44         ` Mauro Carvalho Chehab
2021-04-28  6:44           ` Mauro Carvalho Chehab
2021-04-28  6:44           ` Mauro Carvalho Chehab
2021-04-28 14:14           ` Ezequiel Garcia
2021-04-28 14:14             ` Ezequiel Garcia
2021-04-28 14:14             ` Ezequiel Garcia

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9eebf979608bdbd1780c226383bb084ff8041aa1.1619519080.git.mchehab+huawei@kernel.org \
    --to=mchehab+huawei@kernel.org \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linuxarm@huawei.com \
    --cc=mauro.chehab@huawei.com \
    --cc=mchehab@kernel.org \
    --cc=robert.foss@linaro.org \
    --cc=todor.too@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.