[CPUFREQ] Make cpufreq suspend code conditional on powerpc.
[linux-2.6.git] / drivers / cpufreq / cpufreq.c
index bd74a0b..fd69086 100644 (file)
@@ -1248,13 +1248,22 @@ EXPORT_SYMBOL(cpufreq_get);
 
 static int cpufreq_suspend(struct sys_device *sysdev, pm_message_t pmsg)
 {
-       int cpu = sysdev->id;
        int ret = 0;
+
+#ifdef __powerpc__
+       int cpu = sysdev->id;
        unsigned int cur_freq = 0;
        struct cpufreq_policy *cpu_policy;
 
        dprintk("suspending cpu %u\n", cpu);
 
+       /*
+        * This whole bogosity is here because Powerbooks are made of fail.
+        * No sane platform should need any of the code below to be run.
+        * (it's entirely the wrong thing to do, as driver->get may
+        *  reenable interrupts on some architectures).
+        */
+
        if (!cpu_online(cpu))
                return 0;
 
@@ -1313,6 +1322,7 @@ static int cpufreq_suspend(struct sys_device *sysdev, pm_message_t pmsg)
 
 out:
        cpufreq_cpu_put(cpu_policy);
+#endif /* __powerpc__ */
        return ret;
 }
 
@@ -1326,12 +1336,18 @@ out:
  */
 static int cpufreq_resume(struct sys_device *sysdev)
 {
-       int cpu = sysdev->id;
        int ret = 0;
+
+#ifdef __powerpc__
+       int cpu = sysdev->id;
        struct cpufreq_policy *cpu_policy;
 
        dprintk("resuming cpu %u\n", cpu);
 
+       /* As with the ->suspend method, all the code below is
+        * only necessary because Powerbooks suck.
+        * See commit 42d4dc3f4e1e for jokes. */
+
        if (!cpu_online(cpu))
                return 0;
 
@@ -1395,6 +1411,7 @@ out:
        schedule_work(&cpu_policy->update);
 fail:
        cpufreq_cpu_put(cpu_policy);
+#endif /* __powerpc__ */
        return ret;
 }