MIPS: irq: Use access helper irq_data_get_affinity_mask()
authorJiang Liu <jiang.liu@linux.intel.com>
Mon, 13 Jul 2015 20:45:59 +0000 (20:45 +0000)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 26 Aug 2015 13:23:28 +0000 (15:23 +0200)
This is a preparatory patch for moving irq_data struct members.

Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-mips@linux-mips.org
Cc: LKML <linux-kernel@vger.kernel.org>
Patchwork: https://patchwork.linux-mips.org/patch/10699/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/bcm63xx/irq.c
arch/mips/cavium-octeon/octeon-irq.c
arch/mips/pmcs-msp71xx/msp_irq_cic.c

index e3e808a6c54261841638e975ae8518aaee1fa2f0..02983b90826daa0738b73747f0dd0d8973648773 100644 (file)
@@ -60,7 +60,7 @@ static inline int enable_irq_for_cpu(int cpu, struct irq_data *d,
        if (m)
                enable &= cpumask_test_cpu(cpu, m);
        else if (irqd_affinity_was_set(d))
-               enable &= cpumask_test_cpu(cpu, d->affinity);
+               enable &= cpumask_test_cpu(cpu, irq_data_get_affinity_mask(d));
 #endif
        return enable;
 }
index d8124a3c5a85308927f2daaaf92781bb2d27fc64..18bf3dcb9d1b97f11877f411677177275a9b994e 100644 (file)
@@ -225,13 +225,14 @@ static int next_cpu_for_irq(struct irq_data *data)
 
 #ifdef CONFIG_SMP
        int cpu;
-       int weight = cpumask_weight(data->affinity);
+       struct cpumask *mask = irq_data_get_affinity_mask(data);
+       int weight = cpumask_weight(mask);
        struct octeon_ciu_chip_data *cd = irq_data_get_irq_chip_data(data);
 
        if (weight > 1) {
                cpu = cd->current_cpu;
                for (;;) {
-                       cpu = cpumask_next(cpu, data->affinity);
+                       cpu = cpumask_next(cpu, mask);
                        if (cpu >= nr_cpu_ids) {
                                cpu = -1;
                                continue;
@@ -240,7 +241,7 @@ static int next_cpu_for_irq(struct irq_data *data)
                        }
                }
        } else if (weight == 1) {
-               cpu = cpumask_first(data->affinity);
+               cpu = cpumask_first(mask);
        } else {
                cpu = smp_processor_id();
        }
@@ -712,16 +713,17 @@ static void octeon_irq_cpu_offline_ciu(struct irq_data *data)
 {
        int cpu = smp_processor_id();
        cpumask_t new_affinity;
+       struct cpumask *mask = irq_data_get_affinity_mask(data);
 
-       if (!cpumask_test_cpu(cpu, data->affinity))
+       if (!cpumask_test_cpu(cpu, mask))
                return;
 
-       if (cpumask_weight(data->affinity) > 1) {
+       if (cpumask_weight(mask) > 1) {
                /*
                 * It has multi CPU affinity, just remove this CPU
                 * from the affinity set.
                 */
-               cpumask_copy(&new_affinity, data->affinity);
+               cpumask_copy(&new_affinity, mask);
                cpumask_clear_cpu(cpu, &new_affinity);
        } else {
                /* Otherwise, put it on lowest numbered online CPU. */
index 1207ec4dfb77021a6a114d776684ccfbe696ea00..8b9cf64630406e53552fe052ca10172370e5a88d 100644 (file)
@@ -88,7 +88,8 @@ static void unmask_cic_irq(struct irq_data *d)
        * Make sure we have IRQ affinity.  It may have changed while
        * we were processing the IRQ.
        */
-       if (!cpumask_test_cpu(smp_processor_id(), d->affinity))
+       if (!cpumask_test_cpu(smp_processor_id(),
+                             irq_data_get_affinity_mask(d)))
                return;
 #endif