diff options
| author | Dave Jones <davej@codemonkey.org.uk> | 2003-07-09 18:24:22 +0100 |
|---|---|---|
| committer | Dave Jones <davej@tetrachloride.(none)> | 2003-07-09 18:24:22 +0100 |
| commit | 3d48b9e4d663ada8969aaf5a0921c927303ef508 (patch) | |
| tree | 7f35e0ce700b16b17fa1418678e9c0b3aff1c70b | |
| parent | 1c576b19a92e6a4b489c033d77bf2bd512fa7b8e (diff) | |
[CPUFREQ] move cpufreq_restore(), and don't make it dependent on CONFIG_PM
From Dominik.
| -rw-r--r-- | kernel/cpufreq.c | 58 |
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 */ |
