cpufreq: simplify for_each_suitable_policy() macro
PATCH 1/1 cpufreq: simplify for_each_suitable_policy() macro
Signed-off-by Eric Biggers <[email protected]>
--- drivers/cpufreq/cpufreq.c | 44 +++----------------------------------------- 1 file changed, 3 insertions(+), 41 deletions(-)
drivers/cpufreq/cpufreq.c +3 -41
@@ -38,48 +38,10 @@ static inline bool policy_is_inactive(struct cpufreq_policy *policy)return cpumask_empty (policy->cpus); } -static bool suitable_policy (struct cpufreq_policy *policy,bool active) -{ -return active == !policy_is_inactive (policy); -} - -/* Finds Next Acive/Inactive policy */ -static struct cpufreq_policy *next_policy (struct cpufreq_policy *policy, -bool active) -{ -do { -/* No more policies in the list */ -if (list_is_last (&policy->policy_list, &cpufreq_policy_list)) -return NULL ; - - policy =list_next_entry (policy, policy_list); - }while (!suitable_policy (policy, active)); - -return policy; -} - -static struct cpufreq_policy *first_policy (bool active) -{ -struct cpufreq_policy *policy; - -/* No policies in the list */ -if (list_empty (&cpufreq_policy_list)) -return NULL ; - - policy =list_first_entry (&cpufreq_policy_list,typeof (*policy), - policy_list); - -if (!suitable_policy (policy, active)) - policy =next_policy (policy, active); - -return policy; -} -/* Macros to iterate over CPU policies */ -#define for_each_suitable_policy (__policy, __active) \ - for (__policy = first_policy(__active); \ - __policy; \ - __policy = next_policy(__policy, __active)) +#define for_each_suitable_policy (__policy, __active) \ + list_for_each_entry(__policy, &cpufreq_policy_list, policy_list) \ + if ((__active) == !policy_is_inactive(__policy))#define for_each_active_policy (__policy) \ for_each_suitable_policy(__policy, true)
Signature · 1 line
2.7.1
Quoted 51 lines · Eric Biggers
Signed-off-by Eric Biggers <[email protected]>--- drivers/cpufreq/cpufreq.c | 44 +++----------------------------------------- 1 file changed, 3 insertions(+), 41 deletions(-)drivers/cpufreq/cpufreq.c +0
-37@@ -38,48 +38,10 @@ static inline bool policy_is_inactive(struct cpufreq_policy *policy)return cpumask_empty (policy->cpus); } -static bool suitable_policy (struct cpufreq_policy *policy,bool active) -{ -return active == !policy_is_inactive (policy); -} - -/* Finds Next Acive/Inactive policy */ -static struct cpufreq_policy *next_policy (struct cpufreq_policy *policy, -bool active) -{ -do { -/* No more policies in the list */ -if (list_is_last (&policy->policy_list, &cpufreq_policy_list)) -return NULL ; - - policy =list_next_entry (policy, policy_list); - }while (!suitable_policy (policy, active)); - -return policy; -} - -static struct cpufreq_policy *first_policy (bool active) -{ -struct cpufreq_policy *policy; - -/* No policies in the list */ -if (list_empty (&cpufreq_policy_list)) -return NULL ; - - policy =list_first_entry (&cpufreq_policy_list,typeof (*policy), - policy_list); - -if (!suitable_policy (policy, active)) - policy =next_policy (policy, active); - -return policy; -} -/* Macros to iterate over CPU policies */
drivers/cpufreq/cpufreq.c static inline bool policy_is_inactive(struct cpufreq_policy *policy) · line 47
Quoted 10 lines
drivers/cpufreq/cpufreq.c +3
-4-#define for_each_suitable_policy (__policy, __active) \ - for (__policy = first_policy(__active); \ - __policy; \ - __policy = next_policy(__policy, __active)) +#define for_each_suitable_policy (__policy, __active) \ + list_for_each_entry(__policy, &cpufreq_policy_list, policy_list) \ + if ((__active) == !policy_is_inactive(__policy))#define for_each_active_policy (__policy) \ for_each_suitable_policy(__policy, true)
Acked-by Viresh Kumar <[email protected]>
Signature · 1 line
viresh
Rafael J. Wysocki
AppliedQuoted 60 lines · Viresh Kumar
Quoted 59 lines · Eric Biggers
Signed-off-by Eric Biggers <[email protected]>--- drivers/cpufreq/cpufreq.c | 44 +++----------------------------------------- 1 file changed, 3 insertions(+), 41 deletions(-)drivers/cpufreq/cpufreq.c +3
-41@@ -38,48 +38,10 @@ static inline bool policy_is_inactive(struct cpufreq_policy *policy)return cpumask_empty (policy->cpus); } -static bool suitable_policy (struct cpufreq_policy *policy,bool active) -{ -return active == !policy_is_inactive (policy); -} - -/* Finds Next Acive/Inactive policy */ -static struct cpufreq_policy *next_policy (struct cpufreq_policy *policy, -bool active) -{ -do { -/* No more policies in the list */ -if (list_is_last (&policy->policy_list, &cpufreq_policy_list)) -return NULL ; - - policy =list_next_entry (policy, policy_list); - }while (!suitable_policy (policy, active)); - -return policy; -} - -static struct cpufreq_policy *first_policy (bool active) -{ -struct cpufreq_policy *policy; - -/* No policies in the list */ -if (list_empty (&cpufreq_policy_list)) -return NULL ; - - policy =list_first_entry (&cpufreq_policy_list,typeof (*policy), - policy_list); - -if (!suitable_policy (policy, active)) - policy =next_policy (policy, active); - -return policy; -} -/* Macros to iterate over CPU policies */ -#define for_each_suitable_policy (__policy, __active) \ - for (__policy = first_policy(__active); \ - __policy; \ - __policy = next_policy(__policy, __active)) +#define for_each_suitable_policy (__policy, __active) \ + list_for_each_entry(__policy, &cpufreq_policy_list, policy_list) \ + if ((__active) == !policy_is_inactive(__policy))
Quoted 4 lines
drivers/cpufreq/cpufreq.c static inline bool policy_is_inactive(struct cpufreq_policy *policy) · line 47
Quoted 2 lines
drivers/cpufreq/cpufreq.c +0
-0#define for_each_active_policy (__policy) \ for_each_suitable_policy(__policy, true)Acked-by Viresh Kumar <[email protected]>
Queued up for 4.6, thanks!