[PATCH v3 2/2] cpufreq: simplify setpolicy/target check in driver verification

Zihuan Zhang posted 2 patches 1 month, 1 week ago
[PATCH v3 2/2] cpufreq: simplify setpolicy/target check in driver verification
Posted by Zihuan Zhang 1 month, 1 week ago
Cpufreq drivers are supposed to use either ->setpolicy or
->target/->target_index. This patch simplifies the existing check by
collapsing it into a single boolean expression:

    (!!driver->setpolicy == (driver->target_index || driver->target))

This is a readability/maintainability cleanup and keeps the semantics
unchanged.

No functional change intended.

Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
---
 drivers/cpufreq/cpufreq.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
index a067b5447fe8..633be16297d6 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -2921,10 +2921,7 @@ int cpufreq_register_driver(struct cpufreq_driver *driver_data)
 		return -EPROBE_DEFER;
 
 	if (!driver_data || !driver_data->verify || !driver_data->init ||
-	    !(driver_data->setpolicy || driver_data->target_index ||
-		    driver_data->target) ||
-	     (driver_data->setpolicy && (driver_data->target_index ||
-		    driver_data->target)) ||
+	     (!!driver_data->setpolicy == (driver_data->target_index || driver_data->target)) ||
 	     (!driver_data->get_intermediate != !driver_data->target_intermediate) ||
 	     (!driver_data->online != !driver_data->offline) ||
 		 (driver_data->adjust_perf && !driver_data->fast_switch))
-- 
2.25.1
Re: [PATCH v3 2/2] cpufreq: simplify setpolicy/target check in driver verification
Posted by Viresh Kumar 1 month, 1 week ago
On 22-08-25, 15:04, Zihuan Zhang wrote:
> Cpufreq drivers are supposed to use either ->setpolicy or
> ->target/->target_index. This patch simplifies the existing check by
> collapsing it into a single boolean expression:
> 
>     (!!driver->setpolicy == (driver->target_index || driver->target))
> 
> This is a readability/maintainability cleanup and keeps the semantics
> unchanged.
> 
> No functional change intended.
> 
> Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
> ---
>  drivers/cpufreq/cpufreq.c | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
> index a067b5447fe8..633be16297d6 100644
> --- a/drivers/cpufreq/cpufreq.c
> +++ b/drivers/cpufreq/cpufreq.c
> @@ -2921,10 +2921,7 @@ int cpufreq_register_driver(struct cpufreq_driver *driver_data)
>  		return -EPROBE_DEFER;
>  
>  	if (!driver_data || !driver_data->verify || !driver_data->init ||
> -	    !(driver_data->setpolicy || driver_data->target_index ||
> -		    driver_data->target) ||
> -	     (driver_data->setpolicy && (driver_data->target_index ||
> -		    driver_data->target)) ||
> +	     (!!driver_data->setpolicy == (driver_data->target_index || driver_data->target)) ||
>  	     (!driver_data->get_intermediate != !driver_data->target_intermediate) ||
>  	     (!driver_data->online != !driver_data->offline) ||
>  		 (driver_data->adjust_perf && !driver_data->fast_switch))

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>

-- 
viresh