summaryrefslogtreecommitdiffstats
path: root/drivers/parisc/iosapic.c
diff options
context:
space:
mode:
authorKyle McMartin2009-02-16 09:20:54 +0100
committerKyle McMartin2009-03-13 06:20:27 +0100
commit8b6649c575e0d8312f62fe643ae43558892da2e1 (patch)
treeefbb8966d9b607ac9d46113255e792f645d05d49 /drivers/parisc/iosapic.c
parentparisc: convert (read|write)bwlq to inlines (diff)
downloadkernel-qcow2-linux-8b6649c575e0d8312f62fe643ae43558892da2e1.tar.gz
kernel-qcow2-linux-8b6649c575e0d8312f62fe643ae43558892da2e1.tar.xz
kernel-qcow2-linux-8b6649c575e0d8312f62fe643ae43558892da2e1.zip
parisc: convert cpu_check_affinity to new cpumask api
cpumask arg to the affinity function is now const, sort that out through the irq_desc implementations. Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
Diffstat (limited to 'drivers/parisc/iosapic.c')
-rw-r--r--drivers/parisc/iosapic.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/parisc/iosapic.c b/drivers/parisc/iosapic.c
index 1cdfdea5d7ef..501aaf1f253f 100644
--- a/drivers/parisc/iosapic.c
+++ b/drivers/parisc/iosapic.c
@@ -708,11 +708,14 @@ static void iosapic_set_affinity_irq(unsigned int irq,
struct vector_info *vi = iosapic_get_vector(irq);
u32 d0, d1, dummy_d0;
unsigned long flags;
+ int dest_cpu;
- if (cpu_check_affinity(irq, dest))
+ dest_cpu = cpu_check_affinity(irq, dest);
+ if (dest_cpu < 0)
return;
- vi->txn_addr = txn_affinity_addr(irq, cpumask_first(dest));
+ irq_desc[irq].affinity = cpumask_of_cpu(dest_cpu);
+ vi->txn_addr = txn_affinity_addr(irq, dest_cpu);
spin_lock_irqsave(&iosapic_lock, flags);
/* d1 contains the destination CPU, so only want to set that