summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorDave Jones <davej@codemonkey.org.uk>2003-07-09 18:24:22 +0100
committerDave Jones <davej@tetrachloride.(none)>2003-07-09 18:24:22 +0100
commit3d48b9e4d663ada8969aaf5a0921c927303ef508 (patch)
tree7f35e0ce700b16b17fa1418678e9c0b3aff1c70b /kernel
parent1c576b19a92e6a4b489c033d77bf2bd512fa7b8e (diff)
[CPUFREQ] move cpufreq_restore(), and don't make it dependent on CONFIG_PM
From Dominik.
Diffstat (limited to 'kernel')
-rw-r--r--kernel/cpufreq.c58
1 files changed, 23 insertions, 35 deletions
diff --git a/kernel/cpufreq.c b/kernel/cpufreq.c
index 0701eed77ab4..9e76d0bf8044 100644
--- a/kernel/cpufreq.c
+++ b/kernel/cpufreq.c
@@ -422,7 +422,29 @@ static int cpufreq_remove_dev (struct sys_device * sys_dev)
return 0;
}
-static int cpufreq_restore(struct sys_device *);
+/**
+ * cpufreq_restore - restore the CPU clock frequency after resume
+ *
+ * Restore the CPU clock frequency so that our idea of the current
+ * frequency reflects the actual hardware.
+ */
+static int cpufreq_restore(struct sys_device * sysdev)
+{
+ int cpu = sysdev->id;
+ unsigned int ret = 0;
+ struct cpufreq_policy policy;
+
+ if (cpu_online(cpu) && cpufreq_cpu_get(cpu)) {
+ down(&cpufreq_driver_sem);
+ memcpy(&policy, &cpufreq_driver->policy[cpu],
+ sizeof(struct cpufreq_policy));
+ up(&cpufreq_driver_sem);
+ ret = cpufreq_set_policy(&policy);
+ cpufreq_cpu_put(cpu);
+ }
+
+ return ret;
+}
static struct sysdev_driver cpufreq_sysdev_driver = {
.add = cpufreq_add_dev,
@@ -877,37 +899,3 @@ int cpufreq_unregister_driver(struct cpufreq_driver *driver)
return 0;
}
EXPORT_SYMBOL_GPL(cpufreq_unregister_driver);
-
-
-#ifdef CONFIG_PM
-
-/**
- * cpufreq_restore - restore the CPU clock frequency after resume
- *
- * Restore the CPU clock frequency so that our idea of the current
- * frequency reflects the actual hardware.
- */
-static int cpufreq_restore(struct sys_device * sysdev)
-{
- int cpu = sysdev->id;
- unsigned int ret = 0;
- struct cpufreq_policy policy;
-
- if (cpu_online(cpu) && cpufreq_cpu_get(cpu)) {
- down(&cpufreq_driver_sem);
- memcpy(&policy, &cpufreq_driver->policy[cpu],
- sizeof(struct cpufreq_policy));
- up(&cpufreq_driver_sem);
- ret = cpufreq_set_policy(&policy);
- cpufreq_cpu_put(cpu);
- }
-
- return ret;
-}
-
-#else
-static int cpufreq_restore(struct sys_device * sysdev)
-{
- return 0;
-}
-#endif /* CONFIG_PM */