Skip to content

Commit 9d03e78

Browse files
Jiang LiuKAGA-KOKO
authored andcommitted
mn10300/irq: Use access helper irq_data_get_affinity_mask()
Use access helper irq_data_get_affinity_mask() to hide implementation details of struct irq_desc. Signed-off-by: Jiang Liu <[email protected]> Cc: Konrad Rzeszutek Wilk <[email protected]> Cc: Tony Luck <[email protected]> Cc: [email protected] Cc: Bjorn Helgaas <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Cc: Randy Dunlap <[email protected]> Cc: Yinghai Lu <[email protected]> Cc: Borislav Petkov <[email protected]> Cc: David Howells <[email protected]> Cc: Koichi Yasutake <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Thomas Gleixner <[email protected]>
1 parent 4ba3750 commit 9d03e78

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

arch/mn10300/kernel/cevt-mn10300.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ int __init init_clockevents(void)
123123
{
124124
struct irq_data *data;
125125
data = irq_get_irq_data(cd->irq);
126-
cpumask_copy(data->affinity, cpumask_of(cpu));
126+
cpumask_copy(irq_data_get_affinity_mask(data), cpumask_of(cpu));
127127
iact->flags |= IRQF_NOBALANCING;
128128
}
129129
#endif

arch/mn10300/kernel/irq.c

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,8 @@ static void mn10300_cpupic_mask_ack(struct irq_data *d)
8787
tmp2 = GxICR(irq);
8888

8989
irq_affinity_online[irq] =
90-
cpumask_any_and(d->affinity, cpu_online_mask);
90+
cpumask_any_and(irq_data_get_affinity_mask(d),
91+
cpu_online_mask);
9192
CROSS_GxICR(irq, irq_affinity_online[irq]) =
9293
(tmp & (GxICR_LEVEL | GxICR_ENABLE)) | GxICR_DETECT;
9394
tmp = CROSS_GxICR(irq, irq_affinity_online[irq]);
@@ -124,7 +125,7 @@ static void mn10300_cpupic_unmask_clear(struct irq_data *d)
124125
} else {
125126
tmp = GxICR(irq);
126127

127-
irq_affinity_online[irq] = cpumask_any_and(d->affinity,
128+
irq_affinity_online[irq] = cpumask_any_and(irq_data_get_affinity_mask(d),
128129
cpu_online_mask);
129130
CROSS_GxICR(irq, irq_affinity_online[irq]) = (tmp & GxICR_LEVEL) | GxICR_ENABLE | GxICR_DETECT;
130131
tmp = CROSS_GxICR(irq, irq_affinity_online[irq]);
@@ -316,15 +317,16 @@ void migrate_irqs(void)
316317
self = smp_processor_id();
317318
for (irq = 0; irq < NR_IRQS; irq++) {
318319
struct irq_data *data = irq_get_irq_data(irq);
320+
struct cpumask *mask = irq_data_get_affinity_mask(data);
319321

320322
if (irqd_is_per_cpu(data))
321323
continue;
322324

323-
if (cpumask_test_cpu(self, data->affinity) &&
325+
if (cpumask_test_cpu(self, mask) &&
324326
!cpumask_intersects(&irq_affinity[irq], cpu_online_mask)) {
325327
int cpu_id;
326328
cpu_id = cpumask_first(cpu_online_mask);
327-
cpumask_set_cpu(cpu_id, data->affinity);
329+
cpumask_set_cpu(cpu_id, mask);
328330
}
329331
/* We need to operate irq_affinity_online atomically. */
330332
arch_local_cli_save(flags);
@@ -335,8 +337,7 @@ void migrate_irqs(void)
335337
GxICR(irq) = x & GxICR_LEVEL;
336338
tmp = GxICR(irq);
337339

338-
new = cpumask_any_and(data->affinity,
339-
cpu_online_mask);
340+
new = cpumask_any_and(mask, cpu_online_mask);
340341
irq_affinity_online[irq] = new;
341342

342343
CROSS_GxICR(irq, new) =

0 commit comments

Comments
 (0)