Commit ac2dd327 authored by Helge Deller's avatar Helge Deller

parisc: Clean up cpu_check_affinity() and drop cpu_set_affinity_irq()

The cpu_set_affinity_irq() isn't needed. Not the CPU irqs need to
change, but the slave irq chips simply need to be reprogrammed to
a new CPU irq with the txn_* functions.
Signed-off-by: default avatarHelge Deller <deller@gmx.de>
parent 939fc856
...@@ -105,28 +105,12 @@ int cpu_check_affinity(struct irq_data *d, const struct cpumask *dest) ...@@ -105,28 +105,12 @@ int cpu_check_affinity(struct irq_data *d, const struct cpumask *dest)
if (irqd_is_per_cpu(d)) if (irqd_is_per_cpu(d))
return -EINVAL; return -EINVAL;
/* whatever mask they set, we just allow one CPU */ cpu_dest = cpumask_first_and(dest, cpu_online_mask);
cpu_dest = cpumask_next_and(d->irq & (num_online_cpus()-1),
dest, cpu_online_mask);
if (cpu_dest >= nr_cpu_ids) if (cpu_dest >= nr_cpu_ids)
cpu_dest = cpumask_first_and(dest, cpu_online_mask); cpu_dest = cpumask_first(cpu_online_mask);
return cpu_dest; return cpu_dest;
} }
static int cpu_set_affinity_irq(struct irq_data *d, const struct cpumask *dest,
bool force)
{
int cpu_dest;
cpu_dest = cpu_check_affinity(d, dest);
if (cpu_dest < 0)
return -1;
cpumask_copy(irq_data_get_affinity_mask(d), dest);
return 0;
}
#endif #endif
static struct irq_chip cpu_interrupt_type = { static struct irq_chip cpu_interrupt_type = {
...@@ -135,9 +119,6 @@ static struct irq_chip cpu_interrupt_type = { ...@@ -135,9 +119,6 @@ static struct irq_chip cpu_interrupt_type = {
.irq_unmask = cpu_unmask_irq, .irq_unmask = cpu_unmask_irq,
.irq_ack = cpu_ack_irq, .irq_ack = cpu_ack_irq,
.irq_eoi = cpu_eoi_irq, .irq_eoi = cpu_eoi_irq,
#ifdef CONFIG_SMP
.irq_set_affinity = cpu_set_affinity_irq,
#endif
/* XXX: Needs to be written. We managed without it so far, but /* XXX: Needs to be written. We managed without it so far, but
* we really ought to write it. * we really ought to write it.
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment