]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - kernel/smp.c
Merge branch 'cpus4096-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-omap-h63xx.git] / kernel / smp.c
index 9f0eafed1399c1b4c05289a079ba545b526f38f2..5cfa0e5e3e88d0a4527205de6e438b0e17dbf8ec 100644 (file)
@@ -223,7 +223,7 @@ int smp_call_function_single(int cpu, void (*func) (void *info), void *info,
                local_irq_save(flags);
                func(info);
                local_irq_restore(flags);
-       } else if ((unsigned)cpu < NR_CPUS && cpu_online(cpu)) {
+       } else if ((unsigned)cpu < nr_cpu_ids && cpu_online(cpu)) {
                struct call_single_data *data = NULL;
 
                if (!wait) {
@@ -266,6 +266,12 @@ void __smp_call_function_single(int cpu, struct call_single_data *data)
        generic_exec_single(cpu, data);
 }
 
+/* FIXME: Shim for archs using old arch_send_call_function_ipi API. */
+#ifndef arch_send_call_function_ipi_mask
+#define arch_send_call_function_ipi_mask(maskp) \
+       arch_send_call_function_ipi(*(maskp))
+#endif
+
 /**
  * smp_call_function_many(): Run a function on a set of other CPUs.
  * @mask: The set of cpus to run on (only runs on online subset).
@@ -343,7 +349,7 @@ void smp_call_function_many(const struct cpumask *mask,
        smp_mb();
 
        /* Send a message to all CPUs in the map */
-       arch_send_call_function_ipi(*to_cpumask(data->cpumask_bits));
+       arch_send_call_function_ipi_mask(to_cpumask(data->cpumask_bits));
 
        /* optionally wait for the CPUs to complete */
        if (wait)