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

tiantao (H) tiantao6 at huawei.com
Thu May 20 23:08:35 PDT 2021


在 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

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