Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[pandora-kernel.git] / arch / mn10300 / kernel / irq.c
index 86af0d7..2381df8 100644 (file)
@@ -87,7 +87,7 @@ static void mn10300_cpupic_mask_ack(struct irq_data *d)
                tmp2 = GxICR(irq);
 
                irq_affinity_online[irq] =
-                       any_online_cpu(*d->affinity);
+                       cpumask_any_and(d->affinity, cpu_online_mask);
                CROSS_GxICR(irq, irq_affinity_online[irq]) =
                        (tmp & (GxICR_LEVEL | GxICR_ENABLE)) | GxICR_DETECT;
                tmp = CROSS_GxICR(irq, irq_affinity_online[irq]);
@@ -124,7 +124,8 @@ static void mn10300_cpupic_unmask_clear(struct irq_data *d)
        } else {
                tmp = GxICR(irq);
 
-               irq_affinity_online[irq] = any_online_cpu(*d->affinity);
+               irq_affinity_online[irq] = cpumask_any_and(d->affinity,
+                                                          cpu_online_mask);
                CROSS_GxICR(irq, irq_affinity_online[irq]) = (tmp & GxICR_LEVEL) | GxICR_ENABLE | GxICR_DETECT;
                tmp = CROSS_GxICR(irq, irq_affinity_online[irq]);
        }
@@ -259,7 +260,6 @@ void set_intr_level(int irq, u16 level)
 /*
  * mark an interrupt to be ACK'd after interrupt handlers have been run rather
  * than before
- * - see Documentation/mn10300/features.txt
  */
 void mn10300_set_lateack_irq_type(int irq)
 {
@@ -366,11 +366,11 @@ void migrate_irqs(void)
                if (irqd_is_per_cpu(data))
                        continue;
 
-               if (cpu_isset(self, data->affinity) &&
-                   !cpus_intersects(irq_affinity[irq], cpu_online_map)) {
+               if (cpumask_test_cpu(self, &data->affinity) &&
+                   !cpumask_intersects(&irq_affinity[irq], cpu_online_mask)) {
                        int cpu_id;
-                       cpu_id = first_cpu(cpu_online_map);
-                       cpu_set(cpu_id, data->affinity);
+                       cpu_id = cpumask_first(cpu_online_mask);
+                       cpumask_set_cpu(cpu_id, &data->affinity);
                }
                /* We need to operate irq_affinity_online atomically. */
                arch_local_cli_save(flags);
@@ -381,7 +381,8 @@ void migrate_irqs(void)
                        GxICR(irq) = x & GxICR_LEVEL;
                        tmp = GxICR(irq);
 
-                       new = any_online_cpu(data->affinity);
+                       new = cpumask_any_and(&data->affinity,
+                                             cpu_online_mask);
                        irq_affinity_online[irq] = new;
 
                        CROSS_GxICR(irq, new) =