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

Inki Dae inki.dae at samsung.com
Fri May 21 01:36:57 PDT 2021



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 at hisilicon.com>
>>> ---
>>>   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?

> 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);
>>>  
>> .
>>
> 
> 



More information about the linux-arm-kernel mailing list