GIT 52c18fd2dc5c6d96cec4f48c69fc17b00edd9860 master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq.git/

---

Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 arch/i386/kernel/cpu/cpufreq/longhaul.c           |    4 ++--
 arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c |   20 ++++++++++----------
 arch/i386/kernel/cpu/cpufreq/speedstep-smi.c      |    2 +-
 drivers/cpufreq/cpufreq.c                         |    6 +++++-
 4 files changed, 18 insertions(+), 14 deletions(-)

diff -puN arch/i386/kernel/cpu/cpufreq/longhaul.c~git-cpufreq arch/i386/kernel/cpu/cpufreq/longhaul.c
--- devel/arch/i386/kernel/cpu/cpufreq/longhaul.c~git-cpufreq	2005-09-07 20:10:03.000000000 -0700
+++ devel-akpm/arch/i386/kernel/cpu/cpufreq/longhaul.c	2005-09-07 20:10:03.000000000 -0700
@@ -467,11 +467,11 @@ static void __init longhaul_setup_voltag
 	}
 
 	if (vrmrev==0) {
-		dprintk ("VRM 8.5 \n");
+		dprintk ("VRM 8.5\n");
 		memcpy (voltage_table, vrm85scales, sizeof(voltage_table));
 		numvscales = (voltage_table[maxvid]-voltage_table[minvid])/25;
 	} else {
-		dprintk ("Mobile VRM \n");
+		dprintk ("Mobile VRM\n");
 		memcpy (voltage_table, mobilevrmscales, sizeof(voltage_table));
 		numvscales = (voltage_table[maxvid]-voltage_table[minvid])/5;
 	}
diff -puN arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c~git-cpufreq arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c
--- devel/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c~git-cpufreq	2005-09-07 20:10:03.000000000 -0700
+++ devel-akpm/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c	2005-09-07 20:10:03.000000000 -0700
@@ -259,7 +259,7 @@ static int centrino_cpu_init_table(struc
 
 	if (model->op_points == NULL) {
 		/* Matched a non-match */
-		dprintk(KERN_INFO PFX "no table support for CPU model \"%s\": \n",
+		dprintk(KERN_INFO PFX "no table support for CPU model \"%s\"\n",
 		       cpu->x86_model_id);
 #ifndef CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI
 		dprintk(KERN_INFO PFX "try compiling with CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI enabled\n");
@@ -402,7 +402,7 @@ static int centrino_cpu_init_acpi(struct
 
 	for (i=0; i<p.state_count; i++) {
 		if (p.states[i].control != p.states[i].status) {
-			dprintk("Different control (%x) and status values (%x)\n",
+			dprintk("Different control (%llu) and status values (%llu)\n",
 				p.states[i].control, p.states[i].status);
 			result = -EINVAL;
 			goto err_unreg;
@@ -415,7 +415,7 @@ static int centrino_cpu_init_acpi(struct
 		}
 
 		if (p.states[i].core_frequency > p.states[0].core_frequency) {
-			dprintk("P%u has larger frequency (%u) than P0 (%u), skipping\n", i,
+			dprintk("P%u has larger frequency (%llu) than P0 (%llu), skipping\n", i,
 				p.states[i].core_frequency, p.states[0].core_frequency);
 			p.states[i].core_frequency = 0;
 			continue;
@@ -498,13 +498,6 @@ static int centrino_cpu_init(struct cpuf
 	if (cpu->x86_vendor != X86_VENDOR_INTEL || !cpu_has(cpu, X86_FEATURE_EST))
 		return -ENODEV;
 
-	for (i = 0; i < N_IDS; i++)
-		if (centrino_verify_cpu_id(cpu, &cpu_ids[i]))
-			break;
-
-	if (i != N_IDS)
-		centrino_cpu[policy->cpu] = &cpu_ids[i];
-
 	if (is_const_loops_cpu(policy->cpu)) {
 		centrino_driver.flags |= CPUFREQ_CONST_LOOPS;
 	}
@@ -513,6 +506,13 @@ static int centrino_cpu_init(struct cpuf
 		if (policy->cpu != 0)
 			return -ENODEV;
 
+		for (i = 0; i < N_IDS; i++)
+			if (centrino_verify_cpu_id(cpu, &cpu_ids[i]))
+				break;
+
+		if (i != N_IDS)
+			centrino_cpu[policy->cpu] = &cpu_ids[i];
+
 		if (!centrino_cpu[policy->cpu]) {
 			dprintk(KERN_INFO PFX "found unsupported CPU with "
 			"Enhanced SpeedStep: send /proc/cpuinfo to "
diff -puN arch/i386/kernel/cpu/cpufreq/speedstep-smi.c~git-cpufreq arch/i386/kernel/cpu/cpufreq/speedstep-smi.c
--- devel/arch/i386/kernel/cpu/cpufreq/speedstep-smi.c~git-cpufreq	2005-09-07 20:10:03.000000000 -0700
+++ devel-akpm/arch/i386/kernel/cpu/cpufreq/speedstep-smi.c	2005-09-07 20:10:03.000000000 -0700
@@ -99,7 +99,7 @@ static int speedstep_smi_get_freqs (unsi
 	u32 function = GET_SPEEDSTEP_FREQS;
 
 	if (!(ist_info.event & 0xFFFF)) {
-		dprintk("bug #1422 -- can't read freqs from BIOS\n", result);
+		dprintk("bug #1422 -- can't read freqs from BIOS\n");
 		return -ENODEV;
 	}
 
diff -puN drivers/cpufreq/cpufreq.c~git-cpufreq drivers/cpufreq/cpufreq.c
--- devel/drivers/cpufreq/cpufreq.c~git-cpufreq	2005-09-07 20:10:03.000000000 -0700
+++ devel-akpm/drivers/cpufreq/cpufreq.c	2005-09-07 20:10:03.000000000 -0700
@@ -627,7 +627,7 @@ static int cpufreq_add_dev (struct sys_d
 
 	ret = kobject_register(&policy->kobj);
 	if (ret)
-		goto err_out;
+		goto err_out_driver_exit;
 
 	/* set up files for this cpu device */
 	drv_attr = cpufreq_driver->attr;
@@ -673,6 +673,10 @@ err_out_unregister:
 	kobject_unregister(&policy->kobj);
 	wait_for_completion(&policy->kobj_unregister);
 
+err_out_driver_exit:
+	if (cpufreq_driver->exit)
+		cpufreq_driver->exit(policy);
+
 err_out:
 	kfree(policy);
 
_