diff options
author | KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> | 2011-05-24 20:12:58 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-25 11:39:39 -0400 |
commit | 8ea9716fd6aa761482caa5d4d64b256ed07ac09f (patch) | |
tree | 1dbe6d8bbb9557b27e0a6b0a7d0f3d6934926368 /arch/mn10300/kernel/irq.c | |
parent | 81ee42baa433881bcb471aa6366e2f885a33f2fb (diff) |
mn10300: convert old cpumask API into new one
Adapt to the new API.
We plan to remove old cpumask APIs later. Thus this patch converts them
into the new one.
Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/mn10300/kernel/irq.c')
-rw-r--r-- | arch/mn10300/kernel/irq.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/arch/mn10300/kernel/irq.c b/arch/mn10300/kernel/irq.c index 86af0d7d077..2623d19f4f4 100644 --- a/arch/mn10300/kernel/irq.c +++ b/arch/mn10300/kernel/irq.c | |||
@@ -87,7 +87,7 @@ static void mn10300_cpupic_mask_ack(struct irq_data *d) | |||
87 | tmp2 = GxICR(irq); | 87 | tmp2 = GxICR(irq); |
88 | 88 | ||
89 | irq_affinity_online[irq] = | 89 | irq_affinity_online[irq] = |
90 | any_online_cpu(*d->affinity); | 90 | cpumask_any_and(d->affinity, cpu_online_mask); |
91 | CROSS_GxICR(irq, irq_affinity_online[irq]) = | 91 | CROSS_GxICR(irq, irq_affinity_online[irq]) = |
92 | (tmp & (GxICR_LEVEL | GxICR_ENABLE)) | GxICR_DETECT; | 92 | (tmp & (GxICR_LEVEL | GxICR_ENABLE)) | GxICR_DETECT; |
93 | tmp = CROSS_GxICR(irq, irq_affinity_online[irq]); | 93 | tmp = CROSS_GxICR(irq, irq_affinity_online[irq]); |
@@ -124,7 +124,8 @@ static void mn10300_cpupic_unmask_clear(struct irq_data *d) | |||
124 | } else { | 124 | } else { |
125 | tmp = GxICR(irq); | 125 | tmp = GxICR(irq); |
126 | 126 | ||
127 | irq_affinity_online[irq] = any_online_cpu(*d->affinity); | 127 | irq_affinity_online[irq] = cpumask_any_and(d->affinity, |
128 | cpu_online_mask); | ||
128 | CROSS_GxICR(irq, irq_affinity_online[irq]) = (tmp & GxICR_LEVEL) | GxICR_ENABLE | GxICR_DETECT; | 129 | CROSS_GxICR(irq, irq_affinity_online[irq]) = (tmp & GxICR_LEVEL) | GxICR_ENABLE | GxICR_DETECT; |
129 | tmp = CROSS_GxICR(irq, irq_affinity_online[irq]); | 130 | tmp = CROSS_GxICR(irq, irq_affinity_online[irq]); |
130 | } | 131 | } |
@@ -366,11 +367,11 @@ void migrate_irqs(void) | |||
366 | if (irqd_is_per_cpu(data)) | 367 | if (irqd_is_per_cpu(data)) |
367 | continue; | 368 | continue; |
368 | 369 | ||
369 | if (cpu_isset(self, data->affinity) && | 370 | if (cpumask_test_cpu(self, &data->affinity) && |
370 | !cpus_intersects(irq_affinity[irq], cpu_online_map)) { | 371 | !cpumask_intersects(&irq_affinity[irq], cpu_online_mask)) { |
371 | int cpu_id; | 372 | int cpu_id; |
372 | cpu_id = first_cpu(cpu_online_map); | 373 | cpu_id = cpumask_first(cpu_online_mask); |
373 | cpu_set(cpu_id, data->affinity); | 374 | cpumask_set_cpu(cpu_id, &data->affinity); |
374 | } | 375 | } |
375 | /* We need to operate irq_affinity_online atomically. */ | 376 | /* We need to operate irq_affinity_online atomically. */ |
376 | arch_local_cli_save(flags); | 377 | arch_local_cli_save(flags); |
@@ -381,7 +382,8 @@ void migrate_irqs(void) | |||
381 | GxICR(irq) = x & GxICR_LEVEL; | 382 | GxICR(irq) = x & GxICR_LEVEL; |
382 | tmp = GxICR(irq); | 383 | tmp = GxICR(irq); |
383 | 384 | ||
384 | new = any_online_cpu(data->affinity); | 385 | new = cpumask_any_and(&data->affinity, |
386 | cpu_online_mask); | ||
385 | irq_affinity_online[irq] = new; | 387 | irq_affinity_online[irq] = new; |
386 | 388 | ||
387 | CROSS_GxICR(irq, new) = | 389 | CROSS_GxICR(irq, new) = |