
From: Zwane Mwaikambo <zwane@linuxpower.ca>

arch/x86_64/kernel/io_apic.c:1311: warning: initialization from 
incompatible pointer type
arch/x86_64/kernel/io_apic.c:1322: warning: initialization from 
incompatible pointer type



 25-akpm/arch/x86_64/kernel/io_apic.c |   10 +++++++---
 25-akpm/include/asm-x86_64/smp.h     |    8 ++++++--
 2 files changed, 13 insertions(+), 5 deletions(-)

diff -puN arch/x86_64/kernel/io_apic.c~x86_64-cpumask_t-fix arch/x86_64/kernel/io_apic.c
--- 25/arch/x86_64/kernel/io_apic.c~x86_64-cpumask_t-fix	Tue Aug 12 13:54:05 2003
+++ 25-akpm/arch/x86_64/kernel/io_apic.c	Tue Aug 12 13:54:05 2003
@@ -1278,16 +1278,20 @@ static void end_level_ioapic_irq (unsign
 
 static void mask_and_ack_level_ioapic_irq (unsigned int irq) { /* nothing */ }
 
-static void set_ioapic_affinity (unsigned int irq, unsigned long mask)
+static void set_ioapic_affinity (unsigned int irq, cpumask_t mask)
 {
 	unsigned long flags;
+	unsigned int dest;
+
+	dest = cpu_mask_to_apicid(mk_cpumask_const(mask));
+
 	/*
 	 * Only the first 8 bits are valid.
 	 */
-	mask = mask << 24;
+	dest = dest << 24;
 
 	spin_lock_irqsave(&ioapic_lock, flags);
-	__DO_ACTION(1, = mask, )
+	__DO_ACTION(1, = dest, )
 	spin_unlock_irqrestore(&ioapic_lock, flags);
 }
 
diff -puN include/asm-x86_64/smp.h~x86_64-cpumask_t-fix include/asm-x86_64/smp.h
--- 25/include/asm-x86_64/smp.h~x86_64-cpumask_t-fix	Tue Aug 12 13:54:05 2003
+++ 25-akpm/include/asm-x86_64/smp.h	Tue Aug 12 13:54:05 2003
@@ -67,8 +67,6 @@ static inline int num_booting_cpus(void)
 	return cpus_weight(cpu_callout_map);
 }
 
-extern cpumask_t cpu_callout_map;
-
 #define smp_processor_id() read_pda(cpunumber)
 
 extern __inline int hard_smp_processor_id(void)
@@ -96,6 +94,12 @@ extern inline int safe_smp_processor_id(
 #define INT_DELIVERY_MODE 1     /* logical delivery */
 #define TARGET_CPUS 1
 
+#ifndef ASSEMBLY
+static inline unsigned int cpu_mask_to_apicid(cpumask_const_t cpumask)
+{
+	return cpus_coerce_const(cpumask);
+}
+#endif
 
 #ifndef CONFIG_SMP
 #define stack_smp_processor_id() 0

_
