the overdue removal of X86_SPEEDSTEP_CENTRINO_ACPI
PATCH 1/1 the overdue removal of X86_SPEEDSTEP_CENTRINO_ACPI
This patch contains the overdue removal of X86_SPEEDSTEP_CENTRINO_ACPI.
---
Documentation/feature-removal-schedule.txt | 22 - arch/i386/kernel/cpu/cpufreq/Kconfig | 19 arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c | 280 -------------- arch/x86_64/kernel/cpufreq/Kconfig | 7 4 files changed, 21 insertions(+), 307 deletions(-)
arch/i386/kernel/cpu/cpufreq/Kconfig renamed from arch/i386/kernel/cpu/cpufreq/Kconfig.old +2 -17
@@ -109,7 +109,7 @@ config X86_SPEEDSTEP_CENTRINO tristate "Intel Enhanced SpeedStep" select CPU_FREQ_TABLE - select X86_SPEEDSTEP_CENTRINO_TABLE if (!X86_SPEEDSTEP_CENTRINO_ACPI) + select X86_SPEEDSTEP_CENTRINO_TABLE help This adds the CPUFreq driver for Enhanced SpeedStep enabled mobile CPUs. This means Intel Pentium M (Centrino) CPUs. However,
@@ -121,21 +121,6 @@ If in doubt, say N. -config X86_SPEEDSTEP_CENTRINO_ACPI - bool "Use ACPI tables to decode valid frequency/voltage (deprecated)" - depends on X86_SPEEDSTEP_CENTRINO && ACPI_PROCESSOR - depends on !(X86_SPEEDSTEP_CENTRINO = y && ACPI_PROCESSOR = m) - default y - help - This is deprecated and this functionality is now merged into - acpi_cpufreq (X86_ACPI_CPUFREQ). Use that driver instead of - speedstep_centrino. - Use primarily the information provided in the BIOS ACPI tables - to determine valid CPU frequency and voltage pairings. It is - required for the driver to work on non-Banias CPUs. - - If in doubt, say Y. - config X86_SPEEDSTEP_CENTRINO_TABLE bool "Built-in tables for Banias CPUs" depends on X86_SPEEDSTEP_CENTRINO
@@ -222,7 +207,7 @@ config X86_ACPI_CPUFREQ_PROC_INTF bool "/proc/acpi/processor/../performance interface (deprecated)" depends on PROC_FS - depends on X86_ACPI_CPUFREQ || X86_SPEEDSTEP_CENTRINO_ACPI || X86_POWERNOW_K7_ACPI || X86_POWERNOW_K8_ACPI + depends on X86_ACPI_CPUFREQ || X86_POWERNOW_K7_ACPI || X86_POWERNOW_K8_ACPI help This enables the deprecated /proc/acpi/processor/../performance interface. While it is helpful for debugging, the generic,
arch/x86_64/kernel/cpufreq/Kconfig renamed from arch/x86_64/kernel/cpufreq/Kconfig.old +1 -6
@@ -42,11 +42,6 @@ If in doubt, say N. -config X86_SPEEDSTEP_CENTRINO_ACPI - bool - depends on X86_SPEEDSTEP_CENTRINO - default y - config X86_ACPI_CPUFREQ tristate "ACPI Processor P-States driver" select CPU_FREQ_TABLE
@@ -65,7 +60,7 @@ config X86_ACPI_CPUFREQ_PROC_INTF bool "/proc/acpi/processor/../performance interface (deprecated)" depends on PROC_FS - depends on X86_ACPI_CPUFREQ || X86_SPEEDSTEP_CENTRINO_ACPI || X86_POWERNOW_K8_ACPI + depends on X86_ACPI_CPUFREQ || X86_POWERNOW_K8_ACPI help This enables the deprecated /proc/acpi/processor/../performance interface. While it is helpful for debugging, the generic,
arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c renamed from arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c.old +18 -262
324 lines not on this page · raw message
Documentation/feature-removal-schedule.txt renamed from Documentation/feature-removal-schedule.txt.old +0 -22
@@ -214,28 +214,6 @@ --------------------------- -What: ACPI hooks (X86_SPEEDSTEP_CENTRINO_ACPI) in speedstep-centrino driver -When: December 2006 -Why: Speedstep-centrino driver with ACPI hooks and acpi-cpufreq driver are - functionally very much similar. They talk to ACPI in same way. Only - difference between them is the way they do frequency transitions. - One uses MSRs and the other one uses IO ports. Functionaliy of - speedstep_centrino with ACPI hooks is now merged into acpi-cpufreq. - That means one common driver will support all Intel Enhanced Speedstep - capable CPUs. That means less confusion over name of - speedstep-centrino driver (with that driver supposed to be used on - non-centrino platforms). That means less duplication of code and - less maintenance effort and no possibility of these two drivers - going out of sync. - Current users of speedstep_centrino with ACPI hooks are requested to - switch over to acpi-cpufreq driver. speedstep-centrino will continue - to work using older non-ACPI static table based scheme even after this - date. - -Who: Venkatesh Pallipadi <[email protected]> - ---------------------------- - What: /sys/firmware/acpi/namespace When: 2.6.21 Why: The ACPI namespace is effectively the symbol list for
Ack.
Dave: Can you add this patch to cpufreq.git -> mm.
Thanks,
Venki
Quoted 99 lines
-----Original Message-----
From: Adrian Bunk [mailto:[email protected]]
Sent: Monday, February 19, 2007 4:07 PM
To: Pallipadi, Venkatesh
Cc: [email protected]; [email protected]; [email protected]
Subject: [2.6 patch] the overdue removal ofX86_SPEEDSTEP_CENTRINO_ACPIThis patch contains the overdue removal of
X86_SPEEDSTEP_CENTRINO_ACPI.Signed-off-by Adrian Bunk <[email protected]>---
Documentation/feature-removal-schedule.txt | 22 - arch/i386/kernel/cpu/cpufreq/Kconfig | 19 arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c | 280 -------------- arch/x86_64/kernel/cpufreq/Kconfig | 7 4 files changed, 21 insertions(+), 307 deletions(-)---
linux-2.6.19-rc6-mm2/arch/i386/kernel/cpu/cpufreq/Kconfig.old2006-12-01 07:23:38.000000000 +0100 +++ linux-2.6.19-rc6-mm2/arch/i386/kernel/cpu/cpufreq/Kconfig 2006-12-01 07:24:02.000000000 +0100(quoted diff) +0
-0@@ -109,7 +109,7 @@config
X86_SPEEDSTEP_CENTRINO
tristate "Intel Enhanced SpeedStep"
selectCPU_FREQ_TABLE(quoted diff) +0
-1- select X86_SPEEDSTEP_CENTRINO_TABLE if(!X86_SPEEDSTEP_CENTRINO_ACPI)
arch/i386/kernel/cpu/cpufreq/Kconfig renamed from arch/i386/kernel/cpu/cpufreq/Kconfig.old +1
-0+ select X86_SPEEDSTEP_CENTRINO_TABLEhelp
This adds the CPUFreq driver for Enhanced SpeedStep enabled mobile CPUs. This means Intel Pentium M (Centrino)
CPUs. However,arch/i386/kernel/cpu/cpufreq/Kconfig renamed from arch/i386/kernel/cpu/cpufreq/Kconfig.old +0
-2@@ -121,21 +121,6 @@ If in doubt, say N. -config X86_SPEEDSTEP_CENTRINO_ACPI - bool "Use ACPI tables to decode valid frequency/voltage(deprecated)"
arch/i386/kernel/cpu/cpufreq/Kconfig renamed from arch/i386/kernel/cpu/cpufreq/Kconfig.old +0
-13- depends on X86_SPEEDSTEP_CENTRINO && ACPI_PROCESSOR - depends on !(X86_SPEEDSTEP_CENTRINO = y && ACPI_PROCESSOR = m) - default y - help - This is deprecated and this functionality is now merged into - acpi_cpufreq (X86_ACPI_CPUFREQ). Use that driver instead of - speedstep_centrino. - Use primarily the information provided in the BIOS ACPI tables - to determine valid CPU frequency and voltage pairings. It is - required for the driver to work on non-Banias CPUs. - - If in doubt, say Y. -config
X86_SPEEDSTEP_CENTRINO_TABLE
bool "Built-in tables for Banias CPUs"
depends onX86_SPEEDSTEP_CENTRINO(quoted diff) +0
-0@@ -222,7 +207,7 @@config
X86_ACPI_CPUFREQ_PROC_INTF
bool "/proc/acpi/processor/../performanceinterface
(deprecated)"
depends onPROC_FS(quoted diff) +0
-1- depends on X86_ACPI_CPUFREQ ||
X86_SPEEDSTEP_CENTRINO_ACPI||X86_POWERNOW_K7_ACPI||X86_POWERNOW_K8_ACPI(quoted diff) +1
-0+ depends on X86_ACPI_CPUFREQ || X86_POWERNOW_K7_ACPI ||
X86_POWERNOW_K8_ACPI
help
This enables the deprecated/proc/acpi/processor/../performance
interface. While it is helpful for debugging, the generic,
---
linux-2.6.19-rc6-mm2/arch/x86_64/kernel/cpufreq/Kconfig.old2006-12-01 07:24:11.000000000 +0100 +++ linux-2.6.19-rc6-mm2/arch/x86_64/kernel/cpufreq/Kconfig 2006-12-01 07:24:21.000000000 +0100arch/x86_64/kernel/cpufreq/Kconfig renamed from arch/x86_64/kernel/cpufreq/Kconfig.old +0
-5@@ -42,11 +42,6 @@ If in doubt, say N. -config X86_SPEEDSTEP_CENTRINO_ACPI - bool - depends on X86_SPEEDSTEP_CENTRINO - default y -config
X86_ACPI_CPUFREQ
tristate "ACPI Processor P-States driver"
selectCPU_FREQ_TABLE(quoted diff) +0
-0@@ -65,7 +60,7 @@config
X86_ACPI_CPUFREQ_PROC_INTF
bool "/proc/acpi/processor/../performanceinterface
(deprecated)"
depends onPROC_FS(quoted diff) +0
-1- depends on X86_ACPI_CPUFREQ ||
X86_SPEEDSTEP_CENTRINO_ACPI||X86_POWERNOW_K8_ACPIarch/x86_64/kernel/cpufreq/Kconfig renamed from arch/x86_64/kernel/cpufreq/Kconfig.old +1
-0+ depends on X86_ACPI_CPUFREQ || X86_POWERNOW_K8_ACPI
Quoted 6 lines
help
This enables the deprecated/proc/acpi/processor/../performance
interface. While it is helpful for debugging, the generic,
---
linux-2.6.20-mm1/arch/i386/kernel/cpu/cpufreq/speedstep-centrin
o.c.old 2007-02-17 23:29:53.000000000 +0100
Quoted 2 lines
+++
linux-2.6.20-mm1/arch/i386/kernel/cpu/cpufreq/speedstep-cen
trino.c 2007-02-17 23:30:44.000000000 +0100
Quoted 414 lines
arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c renamed from arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c.old +1
-15@@ -21,12 +21,6 @@#include <linux/delay.h> #include <linux/compiler.h> -#ifdef CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI -#include <linux/acpi.h> -#include <linux/dmi.h> -#include <acpi/processor.h> -#endif -#include <asm/msr.h> #include <asm/processor.h> #include <asm/cpufeature.h> @@ -257,9 +251,7 @@/* Matched a non-match */ dprintk ("no table support for CPU model \"%s\"\n" , cpu->x86_model_id); -#ifndef CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI - dprintk("try compiling with CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI enabled\n"); -#endif +dprintk ("try using the acpi-cpufreq driver\n" );return -ENOENT ; }@@ -346,213 +338,6 @@ } -#ifdef CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI - -static struct acpi_processor_performance *acpi_perf_data[NR_CPUS ]; - -/* -* centrino_cpu_early_init_acpi - Do the preregistering with ACPI P-States
- * library
- *
- * Before doing the actual init, we need to do_PSDrelated setup whenever
- * supported by the BIOS. These are handled by thisearly_initroutine.
- */arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c renamed from arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c.old +0
-7-static int centrino_cpu_early_init_acpi (void ) -{ -unsigned int i, j; -struct acpi_processor_performance *data; - -for_each_possible_cpu (i) { - data = kzalloc(sizeof(struct
acpi_processor_performance),arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c renamed from arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c.old +0
-19- GFP_KERNEL); -if (!data) { -for_each_possible_cpu (j) { -kfree (acpi_perf_data[j]); - acpi_perf_data[j] =NULL ; - } -return (-ENOMEM ); - } - acpi_perf_data[i] = data; - } - -acpi_processor_preregister_performance (acpi_perf_data); -return 0 ; -} - - -#ifdef CONFIG_SMP -/* -* Some BIOSes do SW_ANY coordination internally, either set it up in hw
- * or do it in BIOS firmware and won't inform about it to OS. If not
- * detected, this has a side effect of making CPU run at a different speed
- * than OS intended it to run at. Detect it and handle it cleanly.
- */arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c renamed from arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c.old +0
-25-static int bios_with_sw_any_bug; -static int sw_any_bug_found (struct dmi_system_id *d) -{ - bios_with_sw_any_bug =1 ; -return 0 ; -} - -static struct dmi_system_id sw_any_bug_dmi_table[] = { - { - .callback = sw_any_bug_found, - .ident ="Supermicro Server X6DLP" , - .matches = { -DMI_MATCH (DMI_SYS_VENDOR ,"Supermicro" ), -DMI_MATCH (DMI_BIOS_VERSION ,"080010" ), -DMI_MATCH (DMI_PRODUCT_NAME ,"X6DLP" ), - }, - }, - { } -}; -#endif - -/* -* centrino_cpu_init_acpi - register with ACPI P-States library -* -* Register with the ACPI P-States library (part of
drivers/acpi/processor.c)
- * in order to determine correct frequency and voltage pairings by reading
- * the_PSSof the ACPI DSDT or SSDT tables.
- */arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c renamed from arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c.old +0
-18-static int centrino_cpu_init_acpi (struct cpufreq_policy *policy) -{ -unsigned long cur_freq; -int result =0 , i; -unsigned int cpu = policy->cpu; -struct acpi_processor_performance *p; - - p = acpi_perf_data[cpu]; - -/* register with ACPI core */ -if (acpi_processor_register_performance (p, cpu)) { -dprintk (PFX "obtaining ACPI data failed\n" ); -return -EIO ; - } - - policy->shared_type = p->shared_type; -/* -* Will let policy->cpus know about dependency only when software
arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c renamed from arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c.old +0
-23-* coordination is required. -*/ -if (policy->shared_type ==CPUFREQ_SHARED_TYPE_ALL || - policy->shared_type ==CPUFREQ_SHARED_TYPE_ANY ) { - policy->cpus = p->shared_cpu_map; - } - -#ifdef CONFIG_SMP -dmi_check_system (sw_any_bug_dmi_table); -if (bios_with_sw_any_bug &&cpus_weight (policy->cpus) ==1 ) { - policy->shared_type =CPUFREQ_SHARED_TYPE_ALL ; - policy->cpus = cpu_core_map[cpu]; - } -#endif - -/* verify the acpi_data */ -if (p->state_count <=1 ) { -dprintk ("No P-States\n" ); - result = -ENODEV ; - goto err_unreg; - } - - if ((p->control_register.space_id !=
ACPI_ADR_SPACE_FIXED_HARDWARE) ||(quoted diff) +0
-1- (p->status_register.space_id !=
ACPI_ADR_SPACE_FIXED_HARDWARE)) {(quoted diff) +0
-2- dprintk("Invalid control/status registers (%x - %x)\n", - p->control_register.space_id,
p->status_register.space_id);arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c renamed from arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c.old +0
-8- result = -EIO ; - goto err_unreg; - } - -for (i=0 ; i<p->state_count; i++) { -if ((p->states[i].control &INTEL_MSR_RANGE ) != - (p->states[i].status &INTEL_MSR_RANGE )) { - dprintk("Different MSR bits in control(%llu) and status (%llu)\n",
(quoted diff) +0
-1- p->states[i].control,p->states[i].status);
arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c renamed from arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c.old +0
-6- result = -EINVAL ; - goto err_unreg; - } - -if (!p->states[i].core_frequency) { - dprintk("Zero core frequency for state%u\n", i);
arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c renamed from arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c.old +0
-5- result = -EINVAL ; - goto err_unreg; - } - - if (p->states[i].core_frequency >p->states[0].core_frequency) {
(quoted diff) +0
-1- dprintk("P%u has larger frequency(%llu) than P0 (%llu), skipping\n", i,
(quoted diff) +0
-1- p->states[i].core_frequency,p->states[0].core_frequency);
arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c renamed from arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c.old +0
-6- p->states[i].core_frequency =0 ; -continue ; - } - } - - centrino_model[cpu] = kzalloc(sizeof(struct cpu_model),
GFP_KERNEL);arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c renamed from arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c.old +0
-7-if (!centrino_model[cpu]) { - result = -ENOMEM ; - goto err_unreg; - } - - centrino_model[cpu]->model_name=NULL ; - centrino_model[cpu]->max_freq =p->states[0].core_frequency * 1000;
(quoted diff) +0
-1- centrino_model[cpu]->op_points = kmalloc(sizeof(struct
cpufreq_frequency_table) *(quoted diff) +0
-1- (p->state_count +1),
GFP_KERNEL);arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c renamed from arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c.old +0
-7-if (!centrino_model[cpu]->op_points) { - result = -ENOMEM ; - goto err_kfree; - } - -for (i=0 ; i<p->state_count; i++) { - centrino_model[cpu]->op_points[i].index =p->states[i].control &
INTEL_MSR_RANGE;(quoted diff) +0
-1- centrino_model[cpu]->op_points[i].frequency =p->states[i].core_frequency * 1000;
(quoted diff) +0
-1- dprintk("adding state %i with frequency %u andcontrol value %04x\n",
(quoted diff) +0
-1- i,centrino_model[cpu]->op_points[i].frequency,
centrino_model[cpu]->op_points[i].index);(quoted diff) +0
-2- } -centrino_model[cpu]->op_points[p->state_count].frequency =
CPUFREQ_TABLE_END;arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c renamed from arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c.old +0
-7- - cur_freq =get_cur_freq (cpu); - -for (i=0 ; i<p->state_count; i++) { -if (!p->states[i].core_frequency) { -dprintk ("skipping state %u\n" , i); -centrino_model[cpu]->op_points[i].frequency =
CPUFREQ_ENTRY_INVALID;arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c renamed from arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c.old +0
-4-continue ; - } - - if(
extract_clock(centrino_model[cpu]->op_points[i].index, cpu, 0)!=(quoted diff) +0
-2- (centrino_model[cpu]->op_points[i].frequency)) { - dprintk("Invalid encoded frequency (%uvs. %u)\n",
(quoted diff) +0
-1-
extract_clock(centrino_model[cpu]->op_points[i].index, cpu, 0),(quoted diff) +0
-1-centrino_model[cpu]->op_points[i].frequency);
arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c renamed from arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c.old +0
-5- result = -EINVAL ; - goto err_kfree_all; - } - - if (cur_freq ==centrino_model[cpu]->op_points[i].frequency)
arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c renamed from arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c.old +0
-22- p->state = i; - } - -/* notify BIOS that we exist */ -acpi_processor_notify_smm (THIS_MODULE ); -printk ("speedstep-centrino with X86_SPEEDSTEP_CENTRINO_ACPI " -"config is deprecated.\n " -"Use X86_ACPI_CPUFREQ (acpi-cpufreq) instead.\n" ); - -return 0 ; - - err_kfree_all: -kfree (centrino_model[cpu]->op_points); - err_kfree: -kfree (centrino_model[cpu]); - err_unreg: -acpi_processor_unregister_performance (p, cpu); -dprintk (PFX "invalid ACPI data\n" ); -return (result); -} -#else -static inline int centrino_cpu_init_acpi(struct
cpufreq_policy*policy) { return-ENODEV; }arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c renamed from arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c.old +0
-3-static inline int centrino_cpu_early_init_acpi (void ) {return 0 ; } -#endif -static int
centrino_cpu_init(struct cpufreq_policy *policy){ struct cpuinfo_x86 *cpu = &cpu_data[policy->cpu];arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c renamed from arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c.old +17
-33@@ -568,27 +353,25 @@if (cpu_has (cpu,X86_FEATURE_CONSTANT_TSC )) centrino_driver.flags |=CPUFREQ_CONST_LOOPS ; -if (centrino_cpu_init_acpi (policy)) { -if (policy->cpu !=0 ) -return -ENODEV ; +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 ("found unsupported CPU with " -"Enhanced SpeedStep: send /proc/cpuinfo to " -MAINTAINER "\n" ); -return -ENODEV ; - } +for (i =0 ; i <N_IDS ; i++) +if (centrino_verify_cpu_id (cpu, &cpu_ids[i])) +break ; -if (centrino_cpu_init_table (policy)) { -return -ENODEV ; - } +if (i !=N_IDS ) + centrino_cpu[policy->cpu] = &cpu_ids[i]; + +if (!centrino_cpu[policy->cpu]) { +dprintk ("found unsupported CPU with " +"Enhanced SpeedStep: send /proc/cpuinfo to " +MAINTAINER "\n" ); +return -ENODEV ; + } + +if (centrino_cpu_init_table (policy)) { +return -ENODEV ; }/* Check to see if Enhanced SpeedStep is enabled, and try to @@ -634,20 +417,6 @@cpufreq_frequency_table_put_attr (cpu); -#ifdef CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI -if (!centrino_model[cpu]->model_name) { -static struct acpi_processor_performance *p; - -if (acpi_perf_data[cpu]) { - p = acpi_perf_data[cpu]; -dprintk ("unregistering and freeing ACPI data\n"); -acpi_processor_unregister_performance (p, cpu); -kfree (centrino_model[cpu]->op_points); -kfree (centrino_model[cpu]); - } - } -#endif - centrino_model[cpu] =NULL ;return 0;arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c renamed from arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c.old +0
-14@@ -841,25 +610,12 @@if (!cpu_has (cpu,X86_FEATURE_EST ))return -ENODEV ; -centrino_cpu_early_init_acpi (); -return cpufreq_register_driver (¢rino_driver); } static void __exit centrino_exit(void) { -#ifdef CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI -unsigned int j; -#endif -cpufreq_unregister_driver (¢rino_driver); - -#ifdef CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI -for_each_possible_cpu (j) { -kfree (acpi_perf_data[j]); - acpi_perf_data[j] =NULL ; - } -#endif }MODULE_AUTHOR ("Jeremy Fitzhardinge <[email protected]>" ); ---linux-2.6.20-mm1/Documentation/feature-removal-schedule.
txt.old 2007-02-17 23:33:09.000000000 +0100
+++linux-2.6.20-mm1/Documentation/feature-removal-schedule.txt2007-02-17 23:33:46.000000000 +0100(quoted diff) +0
-2@@ -214,28 +214,6 @@ --------------------------- -What: ACPI hooks (X86_SPEEDSTEP_CENTRINO_ACPI) inspeedstep-centrino driver
(quoted diff) +0
-2-When: December 2006 -Why: Speedstep-centrino driver with ACPI hooks andacpi-cpufreq driver are
(quoted diff) +0
-1- functionally very much similar. They talk to ACPI insame way. Only
(quoted diff) +0
-1- difference between them is the way they do frequencytransitions.
(quoted diff) +0
-2- One uses MSRs and the other one uses IO ports. Functionaliy of - speedstep_centrino with ACPI hooks is now merged intoacpi-cpufreq.
(quoted diff) +0
-1- That means one common driver will support all IntelEnhanced Speedstep
(quoted diff) +0
-2- capable CPUs. That means less confusion over name of - speedstep-centrino driver (with that driver supposed tobe used on
Documentation/feature-removal-schedule.txt renamed from Documentation/feature-removal-schedule.txt.old +0
-4- non-centrino platforms). That means less duplication of code and - less maintenance effort and no possibility of these two drivers - going out of sync. - Current users of speedstep_centrino with ACPI hooks arerequested to
(quoted diff) +0
-1- switch over to acpi-cpufreq driver. speedstep-centrinowill continue
(quoted diff) +0
-1- to work using older non-ACPI static table based schemeeven after this
Documentation/feature-removal-schedule.txt renamed from Documentation/feature-removal-schedule.txt.old +0
-6- date. - -Who: Venkatesh Pallipadi <[email protected]> - ---------------------------- -What:
/sys/firmware/acpi/namespace
When: 2.6.21
Why: The ACPI namespace is effectively the symbol list for
Quoted 4 lines · Adrian Bunk
This patch contains the overdue removal of
X86_SPEEDSTEP_CENTRINO_ACPI.Signed-off-by Adrian Bunk <[email protected]>
It would be really nice, when removing features used on computers which are only a few years old, if you noted what replaces this functionality. Yes, people can take 10-15 minutes to find and read previous discussion, but one or two sentences who generate less concern and noise on the list.
Signature · 3 lines
Bill Davidsen <[email protected]> "We have more to fear from the bungling of the incompetent than from the machinations of the wicked." - from Slashdot
Quoted 9 lines · Bill Davidsen
Quoted 4 lines · Adrian Bunk
This patch contains the overdue removal of
X86_SPEEDSTEP_CENTRINO_ACPI.Signed-off-by Adrian Bunk <[email protected]>It would be really nice, when removing features used on computers which are only a few years old, if you noted what replaces this functionality. Yes, people can take 10-15 minutes to find and read previous discussion, but one or two sentences who generate less concern and noise on the list.
For everyone on linux-kernel, the text my patch removes in feature-removal-schedule.txt should be sufficient.
Users already had a printk() stating that it was deprecated.
Quoted 1 line
Bill Davidsen
cu
Adrian
Signature · 4 lines
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed