Merge branch 'pm-opp' into pm-cpufreq
[cascardo/linux.git] / drivers / cpufreq / cpufreq.c
index e482421..abb7768 100644 (file)
@@ -520,9 +520,6 @@ static int cpufreq_parse_governor(char *str_governor, unsigned int *policy,
 {
        int err = -EINVAL;
 
-       if (!cpufreq_driver)
-               goto out;
-
        if (cpufreq_driver->setpolicy) {
                if (!strncasecmp(str_governor, "performance", CPUFREQ_NAME_LEN)) {
                        *policy = CPUFREQ_POLICY_PERFORMANCE;
@@ -557,7 +554,6 @@ static int cpufreq_parse_governor(char *str_governor, unsigned int *policy,
 
                mutex_unlock(&cpufreq_governor_mutex);
        }
-out:
        return err;
 }
 
@@ -606,9 +602,7 @@ static ssize_t store_##file_name                                    \
        int ret, temp;                                                  \
        struct cpufreq_policy new_policy;                               \
                                                                        \
-       ret = cpufreq_get_policy(&new_policy, policy->cpu);             \
-       if (ret)                                                        \
-               return -EINVAL;                                         \
+       memcpy(&new_policy, policy, sizeof(*policy));                   \
                                                                        \
        ret = sscanf(buf, "%u", &new_policy.object);                    \
        if (ret != 1)                                                   \
@@ -662,9 +656,7 @@ static ssize_t store_scaling_governor(struct cpufreq_policy *policy,
        char    str_governor[16];
        struct cpufreq_policy new_policy;
 
-       ret = cpufreq_get_policy(&new_policy, policy->cpu);
-       if (ret)
-               return ret;
+       memcpy(&new_policy, policy, sizeof(*policy));
 
        ret = sscanf(buf, "%15s", str_governor);
        if (ret != 1)
@@ -675,14 +667,7 @@ static ssize_t store_scaling_governor(struct cpufreq_policy *policy,
                return -EINVAL;
 
        ret = cpufreq_set_policy(policy, &new_policy);
-
-       policy->user_policy.policy = policy->policy;
-       policy->user_policy.governor = policy->governor;
-
-       if (ret)
-               return ret;
-       else
-               return count;
+       return ret ? ret : count;
 }
 
 /**
@@ -1329,10 +1314,6 @@ static int cpufreq_online(unsigned int cpu)
                goto out_exit_policy;
        }
 
-       if (new_policy) {
-               policy->user_policy.policy = policy->policy;
-               policy->user_policy.governor = policy->governor;
-       }
        up_write(&policy->rwsem);
 
        kobject_uevent(&policy->kobj, KOBJ_ADD);
@@ -2206,10 +2187,6 @@ static int cpufreq_set_policy(struct cpufreq_policy *policy,
        blocking_notifier_call_chain(&cpufreq_policy_notifier_list,
                        CPUFREQ_ADJUST, new_policy);
 
-       /* adjust if necessary - hardware incompatibility*/
-       blocking_notifier_call_chain(&cpufreq_policy_notifier_list,
-                       CPUFREQ_INCOMPATIBLE, new_policy);
-
        /*
         * verify the cpu speed can be set within this limit, which might be
         * different to the first one
@@ -2314,8 +2291,6 @@ int cpufreq_update_policy(unsigned int cpu)
        memcpy(&new_policy, policy, sizeof(*policy));
        new_policy.min = policy->user_policy.min;
        new_policy.max = policy->user_policy.max;
-       new_policy.policy = policy->user_policy.policy;
-       new_policy.governor = policy->user_policy.governor;
 
        /*
         * BIOS might change freq behind our back