Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8b8149df authored by Thomas Gleixner's avatar Thomas Gleixner Committed by Ingo Molnar
Browse files

sh/irq: Use access helper irq_data_get_affinity_mask()



This is a preparatory patch for moving irq_data struct members.

Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
Cc: Simon Horman <horms@verge.net.au>
Cc: Magnus Damm <magnus.damm@gmail.com>
Link: http://lkml.kernel.org/r/20150713151626.713278346@linutronix.de


Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent d0abe2f3
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -228,15 +228,16 @@ void migrate_irqs(void)
		struct irq_data *data = irq_get_irq_data(irq);

		if (irq_data_get_node(data) == cpu) {
			unsigned int newcpu = cpumask_any_and(data->affinity,
			struct cpumask *mask = irq_data_get_affinity_mask(data);
			unsigned int newcpu = cpumask_any_and(mask,
							      cpu_online_mask);
			if (newcpu >= nr_cpu_ids) {
				pr_info_ratelimited("IRQ%u no longer affine to CPU%u\n",
						    irq, cpu);

				cpumask_setall(data->affinity);
				cpumask_setall(mask);
			}
			irq_set_affinity(irq, data->affinity);
			irq_set_affinity(irq, mask);
		}
	}
}
+3 −3
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@ void _intc_enable(struct irq_data *data, unsigned long handle)

	for (cpu = 0; cpu < SMP_NR(d, _INTC_ADDR_E(handle)); cpu++) {
#ifdef CONFIG_SMP
		if (!cpumask_test_cpu(cpu, data->affinity))
		if (!cpumask_test_cpu(cpu, irq_data_get_affinity_mask(data)))
			continue;
#endif
		addr = INTC_REG(d, _INTC_ADDR_E(handle), cpu);
@@ -50,7 +50,7 @@ static void intc_disable(struct irq_data *data)

	for (cpu = 0; cpu < SMP_NR(d, _INTC_ADDR_D(handle)); cpu++) {
#ifdef CONFIG_SMP
		if (!cpumask_test_cpu(cpu, data->affinity))
		if (!cpumask_test_cpu(cpu, irq_data_get_affinity_mask(data)))
			continue;
#endif
		addr = INTC_REG(d, _INTC_ADDR_D(handle), cpu);
@@ -72,7 +72,7 @@ static int intc_set_affinity(struct irq_data *data,
	if (!cpumask_intersects(cpumask, cpu_online_mask))
		return -1;

	cpumask_copy(data->affinity, cpumask);
	cpumask_copy(irq_data_get_affinity_mask(data), cpumask);

	return IRQ_SET_MASK_OK_NOCOPY;
}