summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/cpufreq.c33
1 files changed, 11 insertions, 22 deletions
diff --git a/kernel/cpufreq.c b/kernel/cpufreq.c
index ca94129ac8cb..f93c394b5a66 100644
--- a/kernel/cpufreq.c
+++ b/kernel/cpufreq.c
@@ -4,7 +4,7 @@
* Copyright (C) 2001 Russell King
* (C) 2002 Dominik Brodowski <linux@brodo.de>
*
- * $Id: cpufreq.c,v 1.43 2002/09/21 09:05:29 db Exp $
+ * $Id: cpufreq.c,v 1.45 2002/10/08 14:54:23 db Exp $
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
@@ -21,13 +21,10 @@
#include <linux/interrupt.h>
#include <linux/spinlock.h>
#include <linux/ctype.h>
+#include <linux/proc_fs.h>
#include <asm/uaccess.h>
-#ifdef CONFIG_CPU_FREQ_26_API
-#include <linux/proc_fs.h>
-#endif
-
#ifdef CONFIG_CPU_FREQ_24_API
#include <linux/sysctl.h>
#endif
@@ -200,7 +197,6 @@ static int __init cpufreq_setup(char *str)
__setup("cpufreq=", cpufreq_setup);
-#ifdef CONFIG_CPU_FREQ_26_API
#ifdef CONFIG_PROC_FS
/**
@@ -335,7 +331,6 @@ static void cpufreq_proc_exit (void)
return;
}
#endif /* CONFIG_PROC_FS */
-#endif /* CONFIG_CPU_FREQ_26_API */
@@ -344,10 +339,6 @@ static void cpufreq_proc_exit (void)
*********************************************************************/
#ifdef CONFIG_CPU_FREQ_24_API
-/* NOTE #1: when you use this API, you may not use any other calls,
- * except cpufreq_[un]register_notifier, of course.
- */
-
/**
* cpufreq_set - set the CPU frequency
* @freq: target frequency in kHz
@@ -879,7 +870,7 @@ int cpufreq_set_policy(struct cpufreq_policy *policy)
cpufreq_driver->policy[policy->cpu].max = policy->max;
cpufreq_driver->policy[policy->cpu].policy = policy->policy;
}
-
+
#ifdef CONFIG_CPU_FREQ_24_API
if (policy->cpu == CPUFREQ_ALL_CPUS) {
for (i=0;i<NR_CPUS;i++)
@@ -945,6 +936,14 @@ void cpufreq_notify_transition(struct cpufreq_freqs *freqs, unsigned int state)
case CPUFREQ_POSTCHANGE:
adjust_jiffies(CPUFREQ_POSTCHANGE, freqs);
notifier_call_chain(&cpufreq_transition_notifier_list, CPUFREQ_POSTCHANGE, freqs);
+#ifdef CONFIG_CPU_FREQ_24_API
+ if (freqs->cpu == CPUFREQ_ALL_CPUS) {
+ int i;
+ for (i=0;i<NR_CPUS;i++)
+ cpu_cur_freq[i] = freqs->new;
+ } else
+ cpu_cur_freq[freqs->cpu] = freqs->new;
+#endif
break;
}
up(&cpufreq_notifier_sem);
@@ -992,9 +991,7 @@ int cpufreq_register(struct cpufreq_driver *driver_data)
ret = cpufreq_set_policy(&default_policy);
-#ifdef CONFIG_CPU_FREQ_26_API
cpufreq_proc_init();
-#endif
#ifdef CONFIG_CPU_FREQ_24_API
down(&cpufreq_driver_sem);
@@ -1042,9 +1039,7 @@ int cpufreq_unregister(void)
up(&cpufreq_driver_sem);
-#ifdef CONFIG_CPU_FREQ_26_API
cpufreq_proc_exit();
-#endif
#ifdef CONFIG_CPU_FREQ_24_API
cpufreq_sysctl_exit();
@@ -1086,13 +1081,7 @@ int cpufreq_restore(void)
policy.cpu = i;
up(&cpufreq_driver_sem);
-#ifdef CONFIG_CPU_FREQ_26_API
cpufreq_set_policy(&policy);
-#endif
-
-#ifdef CONFIG_CPU_FREQ_24_API
- cpufreq_set(cpu_cur_freq[i], i);
-#endif
}
return 0;