OSDN Git Service

cpufreq: Don't check cpu_online(policy->cpu)
authorViresh Kumar <viresh.kumar@linaro.org>
Mon, 4 Feb 2013 11:38:51 +0000 (11:38 +0000)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Sat, 9 Feb 2013 00:18:34 +0000 (01:18 +0100)
policy->cpu or cpus in policy->cpus can't be offline anymore. And so we don't
need to check if they are online or not.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/cpufreq.c
drivers/cpufreq/cpufreq_governor.c
drivers/cpufreq/cpufreq_userspace.c
drivers/cpufreq/freq_table.c

index b63b3cb..0dc9933 100644 (file)
@@ -76,10 +76,6 @@ static int lock_policy_rwsem_##mode                                  \
        int policy_cpu = per_cpu(cpufreq_policy_cpu, cpu);              \
        BUG_ON(policy_cpu == -1);                                       \
        down_##mode(&per_cpu(cpu_policy_rwsem, policy_cpu));            \
-       if (unlikely(!cpu_online(cpu))) {                               \
-               up_##mode(&per_cpu(cpu_policy_rwsem, policy_cpu));      \
-               return -1;                                              \
-       }                                                               \
                                                                        \
        return 0;                                                       \
 }
@@ -720,8 +716,6 @@ static int cpufreq_add_dev_symlink(unsigned int cpu,
 
                if (j == cpu)
                        continue;
-               if (!cpu_online(j))
-                       continue;
 
                pr_debug("CPU %u already managed, adding link\n", j);
                managed_policy = cpufreq_cpu_get(cpu);
@@ -778,8 +772,6 @@ static int cpufreq_add_dev_interface(unsigned int cpu,
 
        spin_lock_irqsave(&cpufreq_driver_lock, flags);
        for_each_cpu(j, policy->cpus) {
-               if (!cpu_online(j))
-                       continue;
                per_cpu(cpufreq_cpu_data, j) = policy;
                per_cpu(cpufreq_policy_cpu, j) = policy->cpu;
        }
@@ -1006,11 +998,8 @@ static void update_policy_cpu(struct cpufreq_policy *policy, unsigned int cpu)
        policy->last_cpu = policy->cpu;
        policy->cpu = cpu;
 
-       for_each_cpu(j, policy->cpus) {
-               if (!cpu_online(j))
-                       continue;
+       for_each_cpu(j, policy->cpus)
                per_cpu(cpufreq_policy_cpu, j) = cpu;
-       }
 
 #ifdef CONFIG_CPU_FREQ_TABLE
        cpufreq_frequency_table_update_policy_cpu(policy);
@@ -1470,7 +1459,7 @@ int __cpufreq_driver_target(struct cpufreq_policy *policy,
        if (target_freq == policy->cur)
                return 0;
 
-       if (cpu_online(policy->cpu) && cpufreq_driver->target)
+       if (cpufreq_driver->target)
                retval = cpufreq_driver->target(policy, target_freq, relation);
 
        return retval;
@@ -1508,7 +1497,7 @@ int __cpufreq_driver_getavg(struct cpufreq_policy *policy, unsigned int cpu)
        if (cpufreq_disabled())
                return ret;
 
-       if (!(cpu_online(cpu) && cpufreq_driver->getavg))
+       if (!cpufreq_driver->getavg)
                return 0;
 
        policy = cpufreq_cpu_get(policy->cpu);
index 79795c4..e4a306c 100644 (file)
@@ -225,7 +225,7 @@ int cpufreq_governor_dbs(struct dbs_data *dbs_data,
 
        switch (event) {
        case CPUFREQ_GOV_START:
-               if ((!cpu_online(cpu)) || (!policy->cur))
+               if (!policy->cur)
                        return -EINVAL;
 
                mutex_lock(&dbs_data->mutex);
index c8c3d29..bbeb9c0 100644 (file)
@@ -118,8 +118,6 @@ static int cpufreq_governor_userspace(struct cpufreq_policy *policy,
 
        switch (event) {
        case CPUFREQ_GOV_START:
-               if (!cpu_online(cpu))
-                       return -EINVAL;
                BUG_ON(!policy->cur);
                mutex_lock(&userspace_mutex);
 
index aa5bd39..d7a7966 100644 (file)
@@ -63,9 +63,6 @@ int cpufreq_frequency_table_verify(struct cpufreq_policy *policy,
        pr_debug("request for verification of policy (%u - %u kHz) for cpu %u\n",
                                        policy->min, policy->max, policy->cpu);
 
-       if (!cpu_online(policy->cpu))
-               return -EINVAL;
-
        cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq,
                                     policy->cpuinfo.max_freq);
 
@@ -121,9 +118,6 @@ int cpufreq_frequency_table_target(struct cpufreq_policy *policy,
                break;
        }
 
-       if (!cpu_online(policy->cpu))
-               return -EINVAL;
-
        for (i = 0; (table[i].frequency != CPUFREQ_TABLE_END); i++) {
                unsigned int freq = table[i].frequency;
                if (freq == CPUFREQ_ENTRY_INVALID)