Re: [PATCH] drm/exynos: Use pm_runtime_resume_and_get() to replace open coding

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




在 2021/5/21 16:36, Inki Dae 写道:

21. 5. 21. 오후 3:08에 tiantao (H) 이(가) 쓴 글:
在 2021/5/21 12:47, Inki Dae 写道:
Hi,

21. 5. 20. 오후 10:36에 Tian Tao 이(가) 쓴 글:
use pm_runtime_resume_and_get() to replace pm_runtime_get_sync and
pm_runtime_put_noidle. it also avoids the problem of positive return
values so we can change if (ret < 0) to if (ret).
Could you tell me why did you change the condition? pm_runtime_resume_and_get() can return only 0 or negative value.
So I think you don't have to change the condition. Could you drop this description?

Signed-off-by: Tian Tao <tiantao6@xxxxxxxxxxxxx>
---
   drivers/gpu/drm/exynos/exynos_drm_mic.c | 6 ++----
   1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_mic.c b/drivers/gpu/drm/exynos/exynos_drm_mic.c
index 3821ea7..6d94eae 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_mic.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_mic.c
@@ -268,11 +268,9 @@ static void mic_pre_enable(struct drm_bridge *bridge)
       if (mic->enabled)
           goto unlock;
   -    ret = pm_runtime_get_sync(mic->dev);
-    if (ret < 0) {
-        pm_runtime_put_noidle(mic->dev);
+    ret = pm_runtime_resume_and_get(mic->dev);
Right, we can use pm_runtime_resume_and_get function because pm_runtime_resume_and_get function does exactly same thing as existing code does.

+    if (ret)
Seems unnecessary change.
as you can see,If pm_runtime_resume_and_get returns 0, it means that the function was executed successfully and should not be executed in an if condition.

There is no error in continuing to use if (ret < 0), but it is not as concise as using if (ret) directly

I don't see why positive value should be considered because pm_runtime_resume_and_get function never return positive value as you can see.
Is there something I'm missing?
sorry, I misunderstand you, I wil send v2 to drop this.

static inline int pm_runtime_resume_and_get(struct device *dev)
{
     int ret;

     ret = __pm_runtime_resume(dev, RPM_GET_PUT);
     if (ret < 0) {
         pm_runtime_put_noidle(dev);
         return ret;
     }

     return 0;
}
Thanks,
Inki Dae

           goto unlock;
-    }
         mic_set_path(mic, 1);
.


.





[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux for Synopsys ARC Processors]    
  • [Linux on Unisoc (RDA Micro) SoCs]     [Linux Actions SoC]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  •   Powered by Linux