From: Andrew Morton <[email-masked]>

On ia64:

In file included from include/linux/spinlock.h:57,
                 from include/linux/capability.h:45,
                 from include/linux/sched.h:7,
                 from include/linux/mm.h:4,
                 from kernel/sched.c:21:
include/asm/system.h: In function `sched_cacheflush':
include/asm/system.h:287: warning: implicit declaration of function `ia64_sal_cache_flush'

Cc: Ingo Molnar <[email-masked]>
Signed-off-by: Andrew Morton <[email-masked]>
---

 arch/ia64/kernel/setup.c  |   10 ++++++++++
 include/asm-ia64/system.h |   10 +---------
 2 files changed, 11 insertions(+), 9 deletions(-)

diff -puN include/asm-ia64/system.h~sched-add-cacheflush-asm-2-ia64-fix include/asm-ia64/system.h
--- 25/include/asm-ia64/system.h~sched-add-cacheflush-asm-2-ia64-fix	2005-06-26 02:05:28.000000000 -0700
+++ 25-akpm/include/asm-ia64/system.h	2005-06-26 02:05:28.000000000 -0700
@@ -277,15 +277,7 @@ extern void ia64_load_extra (struct task
 #define ia64_platform_is(x) (strcmp(x, platform_name) == 0)
 
 void cpu_idle_wait(void);
-
-/*
- * On SMP systems, when the scheduler does migration-cost autodetection,
- * it needs a way to flush as much of the CPU's caches as possible.
- */
-static inline void sched_cacheflush(void)
-{
-	ia64_sal_cache_flush(1);
-}
+void sched_cacheflush(void);
 
 #define arch_align_stack(x) (x)
 
diff -puN arch/ia64/kernel/setup.c~sched-add-cacheflush-asm-2-ia64-fix arch/ia64/kernel/setup.c
--- 25/arch/ia64/kernel/setup.c~sched-add-cacheflush-asm-2-ia64-fix	2005-06-26 02:05:28.000000000 -0700
+++ 25-akpm/arch/ia64/kernel/setup.c	2005-06-26 02:05:28.000000000 -0700
@@ -56,6 +56,7 @@
 #include <asm/smp.h>
 #include <asm/system.h>
 #include <asm/unistd.h>
+#include <asm/system.h>
 
 #if defined(CONFIG_SMP) && (IA64_CPU_SIZE > PAGE_SIZE)
 # error "struct cpuinfo_ia64 too big!"
@@ -791,3 +792,12 @@ check_bugs (void)
 	ia64_patch_mckinley_e9((unsigned long) __start___mckinley_e9_bundles,
 			       (unsigned long) __end___mckinley_e9_bundles);
 }
+
+/*
+ * On SMP systems, when the scheduler does migration-cost autodetection,
+ * it needs a way to flush as much of the CPU's caches as possible.
+ */
+void sched_cacheflush(void)
+{
+	ia64_sal_cache_flush(1);
+}
_