cpufreq: move frequency table helpers to extra module
PATCH 1/1 cpufreq: move frequency table helpers to extra module
The CPU frequency table helpers can easily be modularized -- especially as they are not needed on all architectures, or for all drivers (even on x86 -- see longrun and gx-suspmod)
arch/i386/Kconfig | 22 +++- arch/sparc64/Kconfig | 7 + drivers/Makefile | 1 drivers/cpufreq/Makefile | 2 drivers/cpufreq/freq_table.c | 203 +++++++++++++++++++++++++++++++++++++++++++ include/linux/cpufreq.h | 3 kernel/cpufreq.c | 188 --------------------------------------- 7 files changed, 231 insertions(+), 195 deletions(-)
arch/i386/Kconfig +16 -6
@@ -994,9 +994,19 @@ If in doubt, say N. +config CPU_FREQ_TABLE + tristate "CPU frequency table helpers" + depends on CPU_FREQ + default y + help + Many CPUFreq drivers use these helpers, so only say N here if + the CPUFreq driver of your choice doesn't need these helpers. + + If in doubt, say Y. + config X86_ACPI_CPUFREQ tristate "ACPI Processor P-States driver" - depends on CPU_FREQ && ACPI_PROCESSOR + depends on CPU_FREQ_TABLE && ACPI_PROCESSOR help This driver adds a CPUFreq driver which utilizes the ACPI Processor Performance States.
@@ -1007,7 +1017,7 @@ config X86_POWERNOW_K6 tristate "AMD Mobile K6-2/K6-3 PowerNow!" - depends on CPU_FREQ + depends on CPU_FREQ_TABLE help This adds the CPUFreq driver for mobile AMD K6-2+ and mobile AMD K6-3+ processors.
@@ -1018,7 +1028,7 @@ config X86_POWERNOW_K7 tristate "AMD Mobile Athlon/Duron PowerNow!" - depends on CPU_FREQ + depends on CPU_FREQ_TABLE help This adds the CPUFreq driver for mobile AMD K7 mobile processors.
@@ -1028,7 +1038,7 @@ config ELAN_CPUFREQ tristate "AMD Elan" - depends on CPU_FREQ && MELAN + depends on CPU_FREQ_TABLE && MELAN ---help--- This adds the CPUFreq driver for AMD Elan SC400 and SC410 processors.
@@ -1055,7 +1065,7 @@ config X86_SPEEDSTEP tristate "Intel Speedstep" - depends on CPU_FREQ + depends on CPU_FREQ_TABLE help This adds the CPUFreq driver for certain mobile Intel Pentium III (Coppermine), all mobile Intel Pentium III-M (Tulatin) and all
@@ -1067,7 +1077,7 @@ config X86_P4_CLOCKMOD tristate "Intel Pentium 4 clock modulation" - depends on CPU_FREQ + depends on CPU_FREQ_TABLE help This adds the CPUFreq driver for Intel Pentium 4 / XEON processors.
arch/sparc64/Kconfig +6 -1
@@ -162,9 +162,14 @@ If in doubt, say N. +config CPU_FREQ_TABLE + tristate + default y + + config US3_FREQ tristate "UltraSPARC-III CPU Frequency driver" - depends on CPU_FREQ + depends on CPU_FREQ_TABLE help This adds the CPUFreq driver for UltraSPARC-III processors.
drivers/Makefile +1 -0
@@ -45,3 +45,4 @@ obj-$(CONFIG_ISDN_BOOL) += isdn/ obj-$(CONFIG_MCA) += mca/ obj-$(CONFIG_EISA) += eisa/ +obj-$(CONFIG_CPU_FREQ) += cpufreq/
drivers/cpufreq/Makefile +2 -0
@@ -0,0 +1,2 @@ +#CPUfreq governors and cross-arch helpers +obj-$(CONFIG_CPU_FREQ_TABLE) += freq_table.o
drivers/cpufreq/freq_table.c +203 -0
203 lines not on this page · raw message
include/linux/cpufreq.h +3 -0
@@ -297,6 +297,7 @@#endif /* CONFIG_CPU_FREQ_24_API */ +#if defined(CONFIG_CPU_FREQ_TABLE ) || defined(CONFIG_CPU_FREQ_TABLE_MODULE )/********************************************************************* * FREQUENCY TABLE HELPERS * *********************************************************************/
@@ -326,4 +327,6 @@unsigned int relation, unsigned int *index); +#endif /* CONFIG_CPU_FREQ_TABLE */ +#endif /* _LINUX_CPUFREQ_H */
kernel/cpufreq.c +0 -188
191 lines not on this page · raw message