aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2015-07-13 16:51:23 -0400
committerIngo Molnar <mingo@kernel.org>2015-07-29 04:08:08 -0400
commit8b8149df9ce99e02cb2b4655bf20d0ce459b9076 (patch)
treee57b4ceb4ba04c68d442428dda86c6289d3690d5
parentd0abe2f3a9a541ded2e30ef7275f057fb7f0335a (diff)
sh/irq: Use access helper irq_data_get_affinity_mask()
This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang 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: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r--arch/sh/kernel/irq.c7
-rw-r--r--drivers/sh/intc/chip.c6
2 files changed, 7 insertions, 6 deletions
diff --git a/arch/sh/kernel/irq.c b/arch/sh/kernel/irq.c
index 8dc677cc136b..6c0378c0b8b5 100644
--- a/arch/sh/kernel/irq.c
+++ b/arch/sh/kernel/irq.c
@@ -228,15 +228,16 @@ void migrate_irqs(void)
228 struct irq_data *data = irq_get_irq_data(irq); 228 struct irq_data *data = irq_get_irq_data(irq);
229 229
230 if (irq_data_get_node(data) == cpu) { 230 if (irq_data_get_node(data) == cpu) {
231 unsigned int newcpu = cpumask_any_and(data->affinity, 231 struct cpumask *mask = irq_data_get_affinity_mask(data);
232 unsigned int newcpu = cpumask_any_and(mask,
232 cpu_online_mask); 233 cpu_online_mask);
233 if (newcpu >= nr_cpu_ids) { 234 if (newcpu >= nr_cpu_ids) {
234 pr_info_ratelimited("IRQ%u no longer affine to CPU%u\n", 235 pr_info_ratelimited("IRQ%u no longer affine to CPU%u\n",
235 irq, cpu); 236 irq, cpu);
236 237
237 cpumask_setall(data->affinity); 238 cpumask_setall(mask);
238 } 239 }
239 irq_set_affinity(irq, data->affinity); 240 irq_set_affinity(irq, mask);
240 } 241 }
241 } 242 }
242} 243}
diff --git a/drivers/sh/intc/chip.c b/drivers/sh/intc/chip.c
index 46427b48e2f1..358df7510186 100644
--- a/drivers/sh/intc/chip.c
+++ b/drivers/sh/intc/chip.c
@@ -22,7 +22,7 @@ void _intc_enable(struct irq_data *data, unsigned long handle)
22 22
23 for (cpu = 0; cpu < SMP_NR(d, _INTC_ADDR_E(handle)); cpu++) { 23 for (cpu = 0; cpu < SMP_NR(d, _INTC_ADDR_E(handle)); cpu++) {
24#ifdef CONFIG_SMP 24#ifdef CONFIG_SMP
25 if (!cpumask_test_cpu(cpu, data->affinity)) 25 if (!cpumask_test_cpu(cpu, irq_data_get_affinity_mask(data)))
26 continue; 26 continue;
27#endif 27#endif
28 addr = INTC_REG(d, _INTC_ADDR_E(handle), cpu); 28 addr = INTC_REG(d, _INTC_ADDR_E(handle), cpu);
@@ -50,7 +50,7 @@ static void intc_disable(struct irq_data *data)
50 50
51 for (cpu = 0; cpu < SMP_NR(d, _INTC_ADDR_D(handle)); cpu++) { 51 for (cpu = 0; cpu < SMP_NR(d, _INTC_ADDR_D(handle)); cpu++) {
52#ifdef CONFIG_SMP 52#ifdef CONFIG_SMP
53 if (!cpumask_test_cpu(cpu, data->affinity)) 53 if (!cpumask_test_cpu(cpu, irq_data_get_affinity_mask(data)))
54 continue; 54 continue;
55#endif 55#endif
56 addr = INTC_REG(d, _INTC_ADDR_D(handle), cpu); 56 addr = INTC_REG(d, _INTC_ADDR_D(handle), cpu);
@@ -72,7 +72,7 @@ static int intc_set_affinity(struct irq_data *data,
72 if (!cpumask_intersects(cpumask, cpu_online_mask)) 72 if (!cpumask_intersects(cpumask, cpu_online_mask))
73 return -1; 73 return -1;
74 74
75 cpumask_copy(data->affinity, cpumask); 75 cpumask_copy(irq_data_get_affinity_mask(data), cpumask);
76 76
77 return IRQ_SET_MASK_OK_NOCOPY; 77 return IRQ_SET_MASK_OK_NOCOPY;
78} 78}