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/

Reply via email to