diff mbox series

[v3,05/19] media: venus: pm_helpers: Kill dead code

Message ID 20230911-topic-mars-v3-5-79f23b81c261@linaro.org (mailing list archive)
State Not Applicable
Headers show
Series Venus cleanups | expand

Commit Message

Konrad Dybcio March 27, 2024, 6:08 p.m. UTC
A situation like:

if (!foo)
	goto bar;

for (i = 0; i < foo; i++)
	...1...

bar:
	...2...

is totally identical to:

for (i = 0; i < 0; i++) // === if (0)
	...1...

...2...

Get rid of such boilerplate.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
 drivers/media/platform/qcom/venus/pm_helpers.c | 10 ----------
 1 file changed, 10 deletions(-)

Comments

Dikshita Agarwal April 5, 2024, 7:49 a.m. UTC | #1
On 3/27/2024 11:38 PM, Konrad Dybcio wrote:
> A situation like:
> 
> if (!foo)
> 	goto bar;
> 
> for (i = 0; i < foo; i++)
> 	...1...
> 
> bar:
> 	...2...
> 
> is totally identical to:
> 
> for (i = 0; i < 0; i++) // === if (0)
> 	...1...
> 
> ...2...
> 
> Get rid of such boilerplate.
> 
> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> ---
>  drivers/media/platform/qcom/venus/pm_helpers.c | 10 ----------
>  1 file changed, 10 deletions(-)
> 
> diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c b/drivers/media/platform/qcom/venus/pm_helpers.c
> index ef4b0f0da36f..730c4b593cec 100644
> --- a/drivers/media/platform/qcom/venus/pm_helpers.c
> +++ b/drivers/media/platform/qcom/venus/pm_helpers.c
> @@ -878,14 +878,10 @@ static int vcodec_domains_get(struct venus_core *core)
>  		.pd_flags = PD_FLAG_NO_DEV_LINK,
>  	};
>  
> -	if (!res->vcodec_pmdomains_num)
> -		goto skip_pmdomains;
> -
this condition should still be there to skip calling
dev_pm_domain_attach_list if vcodec_pmdomains_num is 0.
>  	ret = dev_pm_domain_attach_list(dev, &vcodec_data, &core->pmdomains);
>  	if (ret < 0)
>  		return ret;
>  
> -skip_pmdomains:
>  	if (!core->res->opp_pmdomain)
>  		return 0;
>  
> @@ -928,9 +924,6 @@ static int core_resets_reset(struct venus_core *core)
>  	unsigned int i;
>  	int ret;
>  
> -	if (!res->resets_num)
> -		return 0;
> -
ACK
>  	for (i = 0; i < res->resets_num; i++) {
>  		ret = reset_control_assert(core->resets[i]);
>  		if (ret)
> @@ -953,9 +946,6 @@ static int core_resets_get(struct venus_core *core)
>  	unsigned int i;
>  	int ret;
>  
> -	if (!res->resets_num)
> -		return 0;
> -
ACK
>  	for (i = 0; i < res->resets_num; i++) {
>  		core->resets[i] =
>  			devm_reset_control_get_exclusive(dev, res->resets[i]);
> 

Thanks,
Dikshita
Konrad Dybcio April 9, 2024, 6:24 p.m. UTC | #2
On 4/5/24 09:49, Dikshita Agarwal wrote:
> 
> 
> On 3/27/2024 11:38 PM, Konrad Dybcio wrote:
>> A situation like:
>>
>> if (!foo)
>> 	goto bar;
>>
>> for (i = 0; i < foo; i++)
>> 	...1...
>>
>> bar:
>> 	...2...
>>
>> is totally identical to:
>>
>> for (i = 0; i < 0; i++) // === if (0)
>> 	...1...
>>
>> ...2...
>>
>> Get rid of such boilerplate.
>>
>> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
>> ---
>>   drivers/media/platform/qcom/venus/pm_helpers.c | 10 ----------
>>   1 file changed, 10 deletions(-)
>>
>> diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c b/drivers/media/platform/qcom/venus/pm_helpers.c
>> index ef4b0f0da36f..730c4b593cec 100644
>> --- a/drivers/media/platform/qcom/venus/pm_helpers.c
>> +++ b/drivers/media/platform/qcom/venus/pm_helpers.c
>> @@ -878,14 +878,10 @@ static int vcodec_domains_get(struct venus_core *core)
>>   		.pd_flags = PD_FLAG_NO_DEV_LINK,
>>   	};
>>   
>> -	if (!res->vcodec_pmdomains_num)
>> -		goto skip_pmdomains;
>> -
> this condition should still be there to skip calling
> dev_pm_domain_attach_list if vcodec_pmdomains_num is 0.

That should be totally fine, within that function there's this bit

if (num_pds <= 0)
	return 0;

which bails out gracefully

Konrad
Dikshita Agarwal April 23, 2024, 7:59 a.m. UTC | #3
On 4/9/2024 11:54 PM, Konrad Dybcio wrote:
> 
> 
> On 4/5/24 09:49, Dikshita Agarwal wrote:
>>
>>
>> On 3/27/2024 11:38 PM, Konrad Dybcio wrote:
>>> A situation like:
>>>
>>> if (!foo)
>>>     goto bar;
>>>
>>> for (i = 0; i < foo; i++)
>>>     ...1...
>>>
>>> bar:
>>>     ...2...
>>>
>>> is totally identical to:
>>>
>>> for (i = 0; i < 0; i++) // === if (0)
>>>     ...1...
>>>
>>> ...2...
>>>
>>> Get rid of such boilerplate.
>>>
>>> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
>>> ---
>>>   drivers/media/platform/qcom/venus/pm_helpers.c | 10 ----------
>>>   1 file changed, 10 deletions(-)
>>>
>>> diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c
>>> b/drivers/media/platform/qcom/venus/pm_helpers.c
>>> index ef4b0f0da36f..730c4b593cec 100644
>>> --- a/drivers/media/platform/qcom/venus/pm_helpers.c
>>> +++ b/drivers/media/platform/qcom/venus/pm_helpers.c
>>> @@ -878,14 +878,10 @@ static int vcodec_domains_get(struct venus_core
>>> *core)
>>>           .pd_flags = PD_FLAG_NO_DEV_LINK,
>>>       };
>>>   -    if (!res->vcodec_pmdomains_num)
>>> -        goto skip_pmdomains;
>>> -
>> this condition should still be there to skip calling
>> dev_pm_domain_attach_list if vcodec_pmdomains_num is 0.
> 
> That should be totally fine, within that function there's this bit
> 
> if (num_pds <= 0)
>     return 0;
> 
> which bails out gracefully
> 
AFAIU, this condition won't be true eg: for 8916 and 8996.
because in the else condition[1], num_pds will be non-zero, as there is one
entry for power-domains in dtsi file for 8916, 8996 as well.

[1]https://elixir.bootlin.com/linux/v6.9-rc5/source/drivers/base/power/common.c#L213
Am I missing something here?

> Konrad
diff mbox series

Patch

diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c b/drivers/media/platform/qcom/venus/pm_helpers.c
index ef4b0f0da36f..730c4b593cec 100644
--- a/drivers/media/platform/qcom/venus/pm_helpers.c
+++ b/drivers/media/platform/qcom/venus/pm_helpers.c
@@ -878,14 +878,10 @@  static int vcodec_domains_get(struct venus_core *core)
 		.pd_flags = PD_FLAG_NO_DEV_LINK,
 	};
 
-	if (!res->vcodec_pmdomains_num)
-		goto skip_pmdomains;
-
 	ret = dev_pm_domain_attach_list(dev, &vcodec_data, &core->pmdomains);
 	if (ret < 0)
 		return ret;
 
-skip_pmdomains:
 	if (!core->res->opp_pmdomain)
 		return 0;
 
@@ -928,9 +924,6 @@  static int core_resets_reset(struct venus_core *core)
 	unsigned int i;
 	int ret;
 
-	if (!res->resets_num)
-		return 0;
-
 	for (i = 0; i < res->resets_num; i++) {
 		ret = reset_control_assert(core->resets[i]);
 		if (ret)
@@ -953,9 +946,6 @@  static int core_resets_get(struct venus_core *core)
 	unsigned int i;
 	int ret;
 
-	if (!res->resets_num)
-		return 0;
-
 	for (i = 0; i < res->resets_num; i++) {
 		core->resets[i] =
 			devm_reset_control_get_exclusive(dev, res->resets[i]);