irqchip: mips-gic: Let the core set struct irq_common_data affinity
authorPaul Burton <paul.burton@imgtec.com>
Sun, 13 Aug 2017 04:36:46 +0000 (21:36 -0700)
committerRalf Baechle <ralf@linux-mips.org>
Mon, 4 Sep 2017 11:53:15 +0000 (13:53 +0200)
gic_set_affinity() manually copies the provided cpumask to the struct
irq_common_data affinity field, returning IRQ_SET_MASK_OK_NOCOPY in
order to prevent the core code from doing that.

We can instead simply let the core code do it for us, by returning
IRQ_SET_MASK_OK instead of IRQ_SET_MASK_OK_NOCOPY & doing the copy
ourselves.

[ralf@linux-mips.org: Resolve merge conflict.]

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/17056/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
drivers/irqchip/irq-mips-gic.c

index 8f64ac824d20222f86ae6c0b3d2abbc9e47d4f8c..7187af1bea03c3bc0e028709ed33e9d513dbdbfd 100644 (file)
@@ -268,10 +268,9 @@ static int gic_set_affinity(struct irq_data *d, const struct cpumask *cpumask,
        if (read_gic_mask(irq))
                set_bit(irq, per_cpu_ptr(pcpu_masks, cpu));
 
-       cpumask_copy(irq_data_get_affinity_mask(d), cpumask);
        spin_unlock_irqrestore(&gic_lock, flags);
 
-       return IRQ_SET_MASK_OK_NOCOPY;
+       return IRQ_SET_MASK_OK;
 }
 #endif