On Wed, Mar 07, 2007 at 01:54:58AM -0500, Dave Jones wrote: > On Tue, Mar 06, 2007 at 10:33:05PM -0800, David Rientjes wrote: > > arch/x86_64/kernel/built-in.o: In function > `cpufreq_p4_verify':p4-clockmod.c:(.text.cpufreq_p4_verify+0x8): undefined > reference to `cpufreq_frequency_table_verify' > > arch/x86_64/kernel/built-in.o: In function > `cpufreq_p4_cpu_exit':p4-clockmod.c:(.text.cpufreq_p4_cpu_exit+0x8): > undefined reference to `cpufreq_frequency_table_put_attr' > > arch/x86_64/kernel/built-in.o: In function > `cpufreq_p4_cpu_init':p4-clockmod.c:(.text.cpufreq_p4_cpu_init+0x13b): > undefined reference to `cpufreq_frequency_table_get_attr' > > :p4-clockmod.c:(.text.cpufreq_p4_cpu_init+0x163): undefined reference to > `cpufreq_frequency_table_cpuinfo' > > arch/x86_64/kernel/built-in.o: In function > `cpufreq_p4_target':p4-clockmod.c:(.text.cpufreq_p4_target+0x21): undefined > reference to `cpufreq_frequency_table_target' > > arch/x86_64/kernel/built-in.o: In function > `k8nops':alternative.c:(.data+0x2b70): undefined reference to > `cpufreq_freq_attr_scaling_available_freqs' > > > CONFIG_CPU_FREQ=y > > CONFIG_CPU_FREQ_TABLE=m > > > CONFIG_X86_P4_CLOCKMOD=y > > So P4_CLOCKMOD does a 'select CPU_FREQ_TABLE', but for some reason, that > makes it =m, > not the same as whatever the option that is doing the 'select' is set to > (which is what I thought it did).
No, it does not on x86_64. > Given the cpufreq table code is tiny anyway, I'm wondering if its worth the > pain of having it be modular, instead just making it be built-in to cpufreq. > > Give the diff below a shot? > > Dave > > diff --git a/drivers/cpufreq/Kconfig b/drivers/cpufreq/Kconfig > index d155e81..74747d9 100644 > --- a/drivers/cpufreq/Kconfig > +++ b/drivers/cpufreq/Kconfig > @@ -16,7 +16,7 @@ config CPU_FREQ > if CPU_FREQ > > config CPU_FREQ_TABLE > - tristate > + bool > > config CPU_FREQ_DEBUG > bool "Enable CPUfreq debugging" This patch is wrong, and it works only by chance due to CONFIG_X86_POWERNOW_K8=m and CONFIG_X86_ACPI_CPUFREQ=m. Below is a fix for the real bug. cu Adrian <-- snip --> X86_P4_CLOCKMOD must select CPU_FREQ_TABLE. Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]> --- --- linux-2.6.21-rc3-mm2/arch/x86_64/kernel/cpufreq/Kconfig.old 2007-03-08 09:12:46.000000000 +0100 +++ linux-2.6.21-rc3-mm2/arch/x86_64/kernel/cpufreq/Kconfig 2007-03-08 09:13:12.000000000 +0100 @@ -75,6 +75,7 @@ config X86_P4_CLOCKMOD tristate "Intel Pentium 4 clock modulation" depends on EMBEDDED + select CPU_FREQ_TABLE help This adds the clock modulation driver for Intel Pentium 4 / XEON processors. When enabled it will lower CPU temperature by skipping - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/