cpufreq: simplify for_each_suitable_policy() macro
authorEric Biggers <ebiggers3@gmail.com>
Sun, 21 Feb 2016 18:53:12 +0000 (12:53 -0600)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 22 Feb 2016 12:56:41 +0000 (13:56 +0100)
Signed-off-by: Eric Biggers <ebiggers3@gmail.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/cpufreq.c

index d84aff1593e4bb595f5236871863fb532c38a92c..9be654375657a197ddd65bab852476f6fbed3190 100644 (file)
@@ -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)