summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-12-05 18:49:46 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2009-12-05 18:49:46 +0100
commit9b269d4034c7855ac34f0985cc55ee29bd80e80a (patch)
treeec6c7f54fea5ecfb23eb5ec287732b92924012aa /include
parentMerge branch 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/ker... (diff)
parentgeneric-ipi: Add smp_call_function_any() (diff)
downloadlinux-9b269d4034c7855ac34f0985cc55ee29bd80e80a.tar.xz
linux-9b269d4034c7855ac34f0985cc55ee29bd80e80a.zip
Merge branch 'core-ipi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'core-ipi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: generic-ipi: Add smp_call_function_any() generic-ipi: Fix misleading smp_call_function*() description
Diffstat (limited to 'include')
-rw-r--r--include/linux/smp.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/include/linux/smp.h b/include/linux/smp.h
index 39c64bae776d..7a0570e6a596 100644
--- a/include/linux/smp.h
+++ b/include/linux/smp.h
@@ -76,6 +76,9 @@ void smp_call_function_many(const struct cpumask *mask,
void __smp_call_function_single(int cpuid, struct call_single_data *data,
int wait);
+int smp_call_function_any(const struct cpumask *mask,
+ void (*func)(void *info), void *info, int wait);
+
/*
* Generic and arch helpers
*/
@@ -137,9 +140,15 @@ static inline void smp_send_reschedule(int cpu) { }
#define smp_prepare_boot_cpu() do {} while (0)
#define smp_call_function_many(mask, func, info, wait) \
(up_smp_call_function(func, info))
-static inline void init_call_single_data(void)
+static inline void init_call_single_data(void) { }
+
+static inline int
+smp_call_function_any(const struct cpumask *mask, void (*func)(void *info),
+ void *info, int wait)
{
+ return smp_call_function_single(0, func, info, wait);
}
+
#endif /* !SMP */
/*