mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 13:44:15 +08:00
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>
This commit is contained in:
parent
9dfe914da8
commit
8b6649c575
@ -49,7 +49,7 @@ extern unsigned long txn_alloc_addr(unsigned int);
|
||||
extern unsigned long txn_affinity_addr(unsigned int irq, int cpu);
|
||||
|
||||
extern int cpu_claim_irq(unsigned int irq, struct irq_chip *, void *);
|
||||
extern int cpu_check_affinity(unsigned int irq, cpumask_t *dest);
|
||||
extern int cpu_check_affinity(unsigned int irq, const struct cpumask *dest);
|
||||
|
||||
/* soft power switch support (power.c) */
|
||||
extern struct tasklet_struct power_tasklet;
|
||||
|
@ -112,7 +112,7 @@ void cpu_end_irq(unsigned int irq)
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
int cpu_check_affinity(unsigned int irq, cpumask_t *dest)
|
||||
int cpu_check_affinity(unsigned int irq, const struct cpumask *dest)
|
||||
{
|
||||
int cpu_dest;
|
||||
|
||||
@ -126,17 +126,19 @@ int cpu_check_affinity(unsigned int irq, cpumask_t *dest)
|
||||
|
||||
/* whatever mask they set, we just allow one CPU */
|
||||
cpu_dest = first_cpu(*dest);
|
||||
*dest = cpumask_of_cpu(cpu_dest);
|
||||
|
||||
return 0;
|
||||
return cpu_dest;
|
||||
}
|
||||
|
||||
static void cpu_set_affinity_irq(unsigned int irq, const struct cpumask *dest)
|
||||
{
|
||||
if (cpu_check_affinity(irq, dest))
|
||||
int cpu_dest;
|
||||
|
||||
cpu_dest = cpu_check_affinity(irq, dest);
|
||||
if (cpu_dest < 0)
|
||||
return;
|
||||
|
||||
cpumask_copy(&irq_desc[irq].affinity, dest);
|
||||
cpumask_copy(&irq_desc[irq].affinity, &cpumask_of_cpu(cpu_dest));
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user