LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   SUSE / openSUSE (https://www.linuxquestions.org/questions/suse-opensuse-60/)
-   -   Kernel Recompile error during make modules (https://www.linuxquestions.org/questions/suse-opensuse-60/kernel-recompile-error-during-make-modules-455380/)

EclipseAgent 06-16-2006 07:56 AM

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.

EclipseAgent 06-16-2006 10:19 AM

Eh, I fixed it.. stupid thing on my part. I forgot I put a new version of just the speedstep-centrino.c when trying to workout an issue with my speedstep... now fixed.. by replacing with backed up speedstep-centrino.c


All times are GMT -5. The time now is 06:16 PM.