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

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.deSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent d0abe2f3
...@@ -228,15 +228,16 @@ void migrate_irqs(void) ...@@ -228,15 +228,16 @@ void migrate_irqs(void)
struct irq_data *data = irq_get_irq_data(irq); struct irq_data *data = irq_get_irq_data(irq);
if (irq_data_get_node(data) == cpu) { 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); cpu_online_mask);
if (newcpu >= nr_cpu_ids) { if (newcpu >= nr_cpu_ids) {
pr_info_ratelimited("IRQ%u no longer affine to CPU%u\n", pr_info_ratelimited("IRQ%u no longer affine to CPU%u\n",
irq, cpu); irq, cpu);
cpumask_setall(data->affinity); cpumask_setall(mask);
} }
irq_set_affinity(irq, data->affinity); irq_set_affinity(irq, mask);
} }
} }
} }
......
...@@ -22,7 +22,7 @@ void _intc_enable(struct irq_data *data, unsigned long handle) ...@@ -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++) { for (cpu = 0; cpu < SMP_NR(d, _INTC_ADDR_E(handle)); cpu++) {
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
if (!cpumask_test_cpu(cpu, data->affinity)) if (!cpumask_test_cpu(cpu, irq_data_get_affinity_mask(data)))
continue; continue;
#endif #endif
addr = INTC_REG(d, _INTC_ADDR_E(handle), cpu); addr = INTC_REG(d, _INTC_ADDR_E(handle), cpu);
...@@ -50,7 +50,7 @@ static void intc_disable(struct irq_data *data) ...@@ -50,7 +50,7 @@ static void intc_disable(struct irq_data *data)
for (cpu = 0; cpu < SMP_NR(d, _INTC_ADDR_D(handle)); cpu++) { for (cpu = 0; cpu < SMP_NR(d, _INTC_ADDR_D(handle)); cpu++) {
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
if (!cpumask_test_cpu(cpu, data->affinity)) if (!cpumask_test_cpu(cpu, irq_data_get_affinity_mask(data)))
continue; continue;
#endif #endif
addr = INTC_REG(d, _INTC_ADDR_D(handle), cpu); addr = INTC_REG(d, _INTC_ADDR_D(handle), cpu);
...@@ -72,7 +72,7 @@ static int intc_set_affinity(struct irq_data *data, ...@@ -72,7 +72,7 @@ static int intc_set_affinity(struct irq_data *data,
if (!cpumask_intersects(cpumask, cpu_online_mask)) if (!cpumask_intersects(cpumask, cpu_online_mask))
return -1; return -1;
cpumask_copy(data->affinity, cpumask); cpumask_copy(irq_data_get_affinity_mask(data), cpumask);
return IRQ_SET_MASK_OK_NOCOPY; return IRQ_SET_MASK_OK_NOCOPY;
} }
......
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