Re: 2.5.74-mm1 (p4-clockmod does not compile)

From: William Lee Irwin III (wli@holomorphy.com)
Date: Thu Jul 03 2003 - 06:07:13 EST


On Thu, Jul 03, 2003 at 01:45:41PM +0300, Dumitru Ciobarcianu wrote:
> Here are the errors:
> CC arch/i386/kernel/cpu/cpufreq/p4-clockmod.o
> arch/i386/kernel/cpu/cpufreq/p4-clockmod.c: In function `cpufreq_p4_setdc':
> arch/i386/kernel/cpu/cpufreq/p4-clockmod.c:67: error: incompatible types in assignment
> arch/i386/kernel/cpu/cpufreq/p4-clockmod.c:78: error: incompatible type for argument 2 of `set_cpus_allowed'
> arch/i386/kernel/cpu/cpufreq/p4-clockmod.c:90: error: incompatible type for argument 2 of `set_cpus_allowed'
> arch/i386/kernel/cpu/cpufreq/p4-clockmod.c:131: error: incompatible type for argument 2 of `set_cpus_allowed'
> make[3]: *** [arch/i386/kernel/cpu/cpufreq/p4-clockmod.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

Would something like this help?

-- wli

===== arch/i386/kernel/cpu/cpufreq/p4-clockmod.c 1.16 vs edited =====
--- 1.16/arch/i386/kernel/cpu/cpufreq/p4-clockmod.c Mon May 12 21:23:13 2003
+++ edited/arch/i386/kernel/cpu/cpufreq/p4-clockmod.c Thu Jul 3 04:07:01 2003
@@ -53,10 +53,9 @@
 static int cpufreq_p4_setdc(unsigned int cpu, unsigned int newstate)
 {
         u32 l, h;
- unsigned long cpus_allowed;
+ cpumask_t cpus_allowed, affected_cpu_map;
         struct cpufreq_freqs freqs;
         int hyperthreading = 0;
- int affected_cpu_map = 0;
         int sibling = 0;
 
         if (!cpu_online(cpu) || (newstate > DC_DISABLE) ||
@@ -67,16 +66,17 @@
         cpus_allowed = current->cpus_allowed;
 
         /* only run on CPU to be set, or on its sibling */
- affected_cpu_map = 1 << cpu;
+ affected_cpu_map = cpumask_of_cpu(cpu);
 #ifdef CONFIG_X86_HT
         hyperthreading = ((cpu_has_ht) && (smp_num_siblings == 2));
         if (hyperthreading) {
                 sibling = cpu_sibling_map[cpu];
- affected_cpu_map |= (1 << sibling);
+ cpu_set(sibling, affected_cpu_map);
         }
 #endif
         set_cpus_allowed(current, affected_cpu_map);
         BUG_ON(!(affected_cpu_map & (1 << smp_processor_id())));
+ BUG_ON(!cpu_isset(smp_processor_id(), affected_cpu_map));
 
         /* get current state */
         rdmsr(MSR_IA32_THERM_CONTROL, l, h);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jul 07 2003 - 22:00:19 EST