bk://linux-dj.bkbits.net/cpufreq
davej@redhat.com|ChangeSet|20040831223810|40382 davej

# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2004/08/31 23:38:10+01:00 davej@redhat.com 
#   [CPUFREQ] Fix cosmetic issue in powernow-k8 error handling
#   
#   I tried to load the new SMP capable powernow k8 driver on a machine
#   with an too old BIOS. I got a lot of cryptic "init not cpu 0"
#   messages until the "MP systems not supported by PSB ..." message.
#   
#   This patch switches the order of the checks around to print the
#   other message first. It will be still printed multiple times
#   because the cpufreq setup will probe all CPUs, but that's probably
#   ok.
#   
#   From: Andi Kleen <ak@muc.de>
#   Signed-off-by: Dave Jones <davej@redhat.com>
# 
# arch/i386/kernel/cpu/cpufreq/powernow-k8.c
#   2004/08/31 23:38:01+01:00 davej@redhat.com +4 -4
#   [CPUFREQ] Fix cosmetic issue in powernow-k8 error handling
#   
#   I tried to load the new SMP capable powernow k8 driver on a machine
#   with an too old BIOS. I got a lot of cryptic "init not cpu 0"
#   messages until the "MP systems not supported by PSB ..." message.
#   
#   This patch switches the order of the checks around to print the
#   other message first. It will be still printed multiple times
#   because the cpufreq setup will probe all CPUs, but that's probably
#   ok.
#   
#   From: Andi Kleen <ak@muc.de>
#   Signed-off-by: Dave Jones <davej@redhat.com>
# 
# ChangeSet
#   2004/08/31 23:37:03+01:00 davej@redhat.com 
#   [CPUFREQ] Remove duplicate information brought in with the new governor.
#   
#   The current CPU frequency is already exported one directory upwards, so there
#   is no need to duplicate it in the ondemand governor.
#   
#   From: Dominik Brodowski <linux@dominikbrodowski.de>
#   Signed-off-by: Dave Jones <davej@redhat.com>
# 
# drivers/cpufreq/cpufreq_ondemand.c
#   2004/08/31 23:36:54+01:00 davej@redhat.com +0 -7
#   [CPUFREQ] Remove duplicate information brought in with the new governor.
#   
#   The current CPU frequency is already exported one directory upwards, so there
#   is no need to duplicate it in the ondemand governor.
#   
#   From: Dominik Brodowski <linux@dominikbrodowski.de>
#   Signed-off-by: Dave Jones <davej@redhat.com>
# 
# ChangeSet
#   2004/08/31 23:23:28+01:00 davej@redhat.com 
#   [CPUFREQ] Fix up ARM drivers 'out of sync' problem.
#   The SA1100 and SA1110 platforms can handle situations well where the
#   CPU frequency is different to the value the cpufreq (and timing) code
#   thinks it is, e.g. when resuming from sleep. So, remove the flags
#   noting the opposite.
#   
#   Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.de>
#   Signed-off-by: Dave Jones <davej@redhat.com>
# 
# include/linux/cpufreq.h
#   2004/08/31 23:23:18+01:00 davej@redhat.com +0 -7
#   [CPUFREQ] Fix up ARM drivers 'out of sync' problem.
#   The SA1100 and SA1110 platforms can handle situations well where the
#   CPU frequency is different to the value the cpufreq (and timing) code
#   thinks it is, e.g. when resuming from sleep. So, remove the flags
#   noting the opposite.
#   
#   Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.de>
#   Signed-off-by: Dave Jones <davej@redhat.com>
# 
# drivers/cpufreq/cpufreq.c
#   2004/08/31 23:23:18+01:00 davej@redhat.com +0 -9
#   [CPUFREQ] Fix up ARM drivers 'out of sync' problem.
#   The SA1100 and SA1110 platforms can handle situations well where the
#   CPU frequency is different to the value the cpufreq (and timing) code
#   thinks it is, e.g. when resuming from sleep. So, remove the flags
#   noting the opposite.
#   
#   Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.de>
#   Signed-off-by: Dave Jones <davej@redhat.com>
# 
# arch/arm/mach-sa1100/cpu-sa1110.c
#   2004/08/31 23:23:18+01:00 davej@redhat.com +1 -3
#   [CPUFREQ] Fix up ARM drivers 'out of sync' problem.
#   The SA1100 and SA1110 platforms can handle situations well where the
#   CPU frequency is different to the value the cpufreq (and timing) code
#   thinks it is, e.g. when resuming from sleep. So, remove the flags
#   noting the opposite.
#   
#   Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.de>
#   Signed-off-by: Dave Jones <davej@redhat.com>
# 
# arch/arm/mach-sa1100/cpu-sa1100.c
#   2004/08/31 23:23:18+01:00 davej@redhat.com +1 -3
#   [CPUFREQ] Fix up ARM drivers 'out of sync' problem.
#   The SA1100 and SA1110 platforms can handle situations well where the
#   CPU frequency is different to the value the cpufreq (and timing) code
#   thinks it is, e.g. when resuming from sleep. So, remove the flags
#   noting the opposite.
#   
#   Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.de>
#   Signed-off-by: Dave Jones <davej@redhat.com>
# 
# ChangeSet
#   2004/08/25 14:07:34-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-cpufreq
# 
# arch/i386/kernel/smpboot.c
#   2004/08/25 14:07:30-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/24 17:39:15-07:00 akpm@bix.(none) 
#   Merge bk://linux-dj.bkbits.net/cpufreq
#   into bix.(none):/usr/src/bk-cpufreq
# 
# include/asm-i386/acpi.h
#   2004/08/24 17:39:11-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/cpufreq/cpufreq_userspace.c
#   2004/08/24 17:39:11-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/smpboot.c
#   2004/08/24 17:39:11-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/24 17:37:54-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-cpufreq
# 
# arch/i386/kernel/smpboot.c
#   2004/08/24 17:37:47-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/23 13:53:34-07:00 akpm@bix.(none) 
#   Merge bk://linux-dj.bkbits.net/cpufreq
#   into bix.(none):/usr/src/bk-cpufreq
# 
# include/asm-i386/acpi.h
#   2004/08/23 13:53:31-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/cpufreq/cpufreq_userspace.c
#   2004/08/23 13:53:31-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/smpboot.c
#   2004/08/23 13:53:31-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/22 21:09:40-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-cpufreq
# 
# include/asm-i386/acpi.h
#   2004/08/22 21:09:36-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/cpufreq/cpufreq_userspace.c
#   2004/08/22 21:09:36-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/smpboot.c
#   2004/08/22 21:09:36-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/20 02:10:39-07:00 akpm@bix.(none) 
#   Merge bk://linux-dj.bkbits.net/cpufreq
#   into bix.(none):/usr/src/bk-cpufreq
# 
# drivers/cpufreq/cpufreq_userspace.c
#   2004/08/20 02:10:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/17 14:12:14-07:00 akpm@bix.(none) 
#   Merge bk://linux-dj.bkbits.net/cpufreq
#   into bix.(none):/usr/src/bk-cpufreq
# 
# arch/i386/kernel/smpboot.c
#   2004/08/17 14:12:10-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/15 01:01:43-07:00 akpm@bix.(none) 
#   Merge bk://linux-dj.bkbits.net/cpufreq
#   into bix.(none):/usr/src/bk-cpufreq
# 
# drivers/cpufreq/cpufreq_userspace.c
#   2004/08/15 01:01:40-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/15 01:00:46-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-cpufreq
# 
# include/asm-i386/acpi.h
#   2004/08/15 01:00:42-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/08 02:12:22-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-cpufreq
# 
# drivers/cpufreq/cpufreq_userspace.c
#   2004/08/08 02:12:18-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
diff -Nru a/arch/arm/mach-sa1100/cpu-sa1100.c b/arch/arm/mach-sa1100/cpu-sa1100.c
--- a/arch/arm/mach-sa1100/cpu-sa1100.c	2004-09-02 16:48:58 -07:00
+++ b/arch/arm/mach-sa1100/cpu-sa1100.c	2004-09-02 16:48:58 -07:00
@@ -230,9 +230,7 @@
 }
 
 static struct cpufreq_driver sa1100_driver = {
-	.flags		= CPUFREQ_STICKY |
-			  CPUFREQ_PANIC_OUTOFSYNC | 
-			  CPUFREQ_PANIC_RESUME_OUTOFSYNC,
+	.flags		= CPUFREQ_STICKY,
 	.verify		= sa11x0_verify_speed,
 	.target		= sa1100_target,
 	.get		= sa11x0_getspeed,
diff -Nru a/arch/arm/mach-sa1100/cpu-sa1110.c b/arch/arm/mach-sa1100/cpu-sa1110.c
--- a/arch/arm/mach-sa1100/cpu-sa1110.c	2004-09-02 16:48:58 -07:00
+++ b/arch/arm/mach-sa1100/cpu-sa1110.c	2004-09-02 16:48:58 -07:00
@@ -329,9 +329,7 @@
 }
 
 static struct cpufreq_driver sa1110_driver = {
-	.flags		= CPUFREQ_STICKY |
-			  CPUFREQ_PANIC_OUTOFSYNC | 
-			  CPUFREQ_PANIC_RESUME_OUTOFSYNC,
+	.flags		= CPUFREQ_STICKY,
 	.verify		= sa11x0_verify_speed,
 	.target		= sa1110_target,
 	.get		= sa11x0_getspeed,
diff -Nru a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c
--- a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c	2004-09-02 16:48:58 -07:00
+++ b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c	2004-09-02 16:48:58 -07:00
@@ -948,13 +948,13 @@
 		 * an UP version, and is deprecated by AMD.
 		 */
 
-		if (pol->cpu != 0) {
-			printk(KERN_ERR PFX "init not cpu 0\n");
+		if ((num_online_cpus() != 1) || (num_possible_cpus() != 1)) {
+			printk(KERN_INFO PFX "MP systems not supported by PSB BIOS structure\n");
 			kfree(data);
 			return -ENODEV;
 		}
-		if ((num_online_cpus() != 1) || (num_possible_cpus() != 1)) {
-			printk(KERN_INFO PFX "MP systems not supported by PSB BIOS structure\n");
+		if (pol->cpu != 0) {
+			printk(KERN_ERR PFX "init not cpu 0\n");
 			kfree(data);
 			return -ENODEV;
 		}
diff -Nru a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
--- a/drivers/cpufreq/cpufreq.c	2004-09-02 16:48:58 -07:00
+++ b/drivers/cpufreq/cpufreq.c	2004-09-02 16:48:58 -07:00
@@ -157,9 +157,6 @@
 			    (likely(cpufreq_cpu_data[freqs->cpu]->cur)) &&
 			    (unlikely(freqs->old != cpufreq_cpu_data[freqs->cpu]->cur)))
 			{
-				if (cpufreq_driver->flags & CPUFREQ_PANIC_OUTOFSYNC)
-					panic("CPU Frequency is out of sync.");
-
 				printk(KERN_WARNING "Warning: CPU frequency is %u, "
 				       "cpufreq assumed %u kHz.\n", freqs->old, cpufreq_cpu_data[freqs->cpu]->cur);
 				freqs->old = cpufreq_cpu_data[freqs->cpu]->cur;
@@ -603,9 +600,6 @@
 {
 	struct cpufreq_freqs freqs;
 
-	if (cpufreq_driver->flags & CPUFREQ_PANIC_OUTOFSYNC)
-		panic("CPU Frequency is out of sync.");
-
 	printk(KERN_WARNING "Warning: CPU frequency out of sync: cpufreq and timing "
 	       "core thinks of %u, is %u kHz.\n", old_freq, new_freq);
 
@@ -695,9 +689,6 @@
 
 		if (unlikely(cur_freq != cpu_policy->cur)) {
 			struct cpufreq_freqs freqs;
-
-			if (cpufreq_driver->flags & CPUFREQ_PANIC_RESUME_OUTOFSYNC)
-				panic("CPU Frequency is out of sync.");
 
 			printk(KERN_WARNING "Warning: CPU frequency is %u, "
 			       "cpufreq assumed %u kHz.\n", cur_freq, cpu_policy->cur);
diff -Nru a/drivers/cpufreq/cpufreq_ondemand.c b/drivers/cpufreq/cpufreq_ondemand.c
--- a/drivers/cpufreq/cpufreq_ondemand.c	2004-09-02 16:48:58 -07:00
+++ b/drivers/cpufreq/cpufreq_ondemand.c	2004-09-02 16:48:58 -07:00
@@ -90,11 +90,6 @@
 };
 
 /************************** sysfs interface ************************/
-static ssize_t show_current_freq(struct cpufreq_policy *policy, char *buf)
-{
-	return sprintf (buf, "%u\n", policy->cur);
-}
-
 static ssize_t show_sampling_rate_max(struct cpufreq_policy *policy, char *buf)
 {
 	return sprintf (buf, "%u\n", MAX_SAMPLING_RATE);
@@ -111,7 +106,6 @@
 	.show = show_##_name, 					\
 }
 
-define_one_ro(current_freq);
 define_one_ro(sampling_rate_max);
 define_one_ro(sampling_rate_min);
 
@@ -208,7 +202,6 @@
 define_one_rw(down_threshold);
 
 static struct attribute * dbs_attributes[] = {
-	&current_freq.attr,
 	&sampling_rate_max.attr,
 	&sampling_rate_min.attr,
 	&sampling_rate.attr,
diff -Nru a/include/linux/cpufreq.h b/include/linux/cpufreq.h
--- a/include/linux/cpufreq.h	2004-09-02 16:48:58 -07:00
+++ b/include/linux/cpufreq.h	2004-09-02 16:48:58 -07:00
@@ -209,13 +209,6 @@
 #define CPUFREQ_CONST_LOOPS 	0x02	/* loops_per_jiffy or other kernel
 					 * "constants" aren't affected by
 					 * frequency transitions */
-#define CPUFREQ_PANIC_OUTOFSYNC	0x04	/* panic if cpufreq's opinion of
-					 * current frequency differs from
-					 * actual frequency */
-#define CPUFREQ_PANIC_RESUME_OUTOFSYNC 0x08 /* panic if cpufreq's opinion of
-					 * current frequency differs from
-					 * actual frequency on resume
-					 * from sleep. */
 
 
 int cpufreq_register_driver(struct cpufreq_driver *driver_data);
