cpufreq: move freq change notifications to cpufreq core
[deliverable/linux.git] / drivers / cpufreq / e_powersaver.c
index b39c4ef60a7a66e45796ca7e10b0851c924944cf..9012b8bb6b649abc18e6e1a623df56de69249a38 100644 (file)
@@ -107,15 +107,9 @@ static int eps_set_state(struct eps_cpu_data *centaur,
                         struct cpufreq_policy *policy,
                         u32 dest_state)
 {
-       struct cpufreq_freqs freqs;
        u32 lo, hi;
-       int err = 0;
        int i;
 
-       freqs.old = eps_get(policy->cpu);
-       freqs.new = centaur->fsb * ((dest_state >> 8) & 0xff);
-       cpufreq_notify_transition(policy, &freqs, CPUFREQ_PRECHANGE);
-
        /* Wait while CPU is busy */
        rdmsr(MSR_IA32_PERF_STATUS, lo, hi);
        i = 0;
@@ -124,8 +118,7 @@ static int eps_set_state(struct eps_cpu_data *centaur,
                rdmsr(MSR_IA32_PERF_STATUS, lo, hi);
                i++;
                if (unlikely(i > 64)) {
-                       err = -ENODEV;
-                       goto postchange;
+                       return -ENODEV;
                }
        }
        /* Set new multiplier and voltage */
@@ -137,16 +130,10 @@ static int eps_set_state(struct eps_cpu_data *centaur,
                rdmsr(MSR_IA32_PERF_STATUS, lo, hi);
                i++;
                if (unlikely(i > 64)) {
-                       err = -ENODEV;
-                       goto postchange;
+                       return -ENODEV;
                }
        } while (lo & ((1 << 16) | (1 << 17)));
 
-       /* Return current frequency */
-postchange:
-       rdmsr(MSR_IA32_PERF_STATUS, lo, hi);
-       freqs.new = centaur->fsb * ((lo >> 8) & 0xff);
-
 #ifdef DEBUG
        {
        u8 current_multiplier, current_voltage;
@@ -161,11 +148,7 @@ postchange:
                current_multiplier);
        }
 #endif
-       if (err)
-               freqs.new = freqs.old;
-
-       cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE);
-       return err;
+       return 0;
 }
 
 static int eps_target(struct cpufreq_policy *policy, unsigned int index)
This page took 0.027221 seconds and 5 git commands to generate.