Kernel Recompile error during make modules
So I was having a problem with my processor not running at full speed and decided to try to recompile the kernel changing the Processor Family from 586 to Pentium M (Centrino) make bzImage went well, but when I do 'make modules' i get the error:
#:/usr/src/linux # make modules
CHK /usr/src/linux-2.6.16.13-4/include/linux/version.h
CC [M] arch/i386/kernel/cpu/cpufreq/speedstep-centrino.o
arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c: In function
‘centrino_cpu_init_acpi’:
arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c:288: error: ‘struct
acpi_processor_performance’ has no member named ‘pdc’
make[3]: *** [arch/i386/kernel/cpu/cpufreq/speedstep-centrino.o] Error 1
make[2]: *** [arch/i386/kernel/cpu/cpufreq] Error 2
make[1]: *** [arch/i386/kernel/cpu] Error 2
make: *** [arch/i386/kernel] Error 2
#:/usr/src/linux #
So I have included the 'centrino_cpu_init_table' portion of speedstep-centrino.c
static int centrino_cpu_init_table(struct cpufreq_policy *policy)
{
struct cpuinfo_x86 *cpu = &cpu_data[policy->cpu];
struct cpu_model *model;
for(model = models; model->model_name != NULL; model++)
if (strcmp(cpu->x86_model_id, model->model_name) == 0)
break;
if (model->model_name == NULL) {
printk(KERN_INFO PFX "no support for CPU model \"%s\": "
"send /proc/cpuinfo to " MAINTAINER "\n",
cpu->x86_model_id);
return -ENOENT;
}
centrino_model = model;
printk(KERN_INFO PFX "found \"%s\": max frequency: %dkHz\n",
model->model_name, model->max_freq);
return 0;
}
#else
static inline int centrino_cpu_init_table(struct cpufreq_policy *policy) { return -ENODEV; }
#endif /* CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE */
/* Extract clock in kHz from PERF_CTL value */
static unsigned extract_clock(unsigned msr)
{
msr = (msr >> 8) & 0xff;
return msr * 100000;
}
/* Return the current CPU frequency in kHz */
static unsigned get_cur_freq(void)
{
unsigned l, h;
rdmsr(MSR_IA32_PERF_STATUS, l, h);
return extract_clock(l);
}
#ifdef CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI
static struct acpi_processor_performance p;
#include <linux/acpi.h>
#include <acpi/processor.h>
Is this a Kernel Bug? Also, still in my default kernel, I get errors when trying to modprobe speedstep-centrino and acpi_cpufreq both saying no device found (which is why I was going to try to change the family class to Pentium M).
Any input would be great. Thanks.
|