Andrew, please apply:
In asm-ppc64/tlb.h, tlb_flush() is defined as inline after the
#include of asm-generic/tlb.h which uses it, defeating the inline
directive. gcc-3.4 exposes this problem, causing a compile failure.
This patch reorders the file to fix the problem.
Signed-off-by: David Gibson <[email protected]>
Index: working-2.6/include/asm-ppc64/tlb.h
===================================================================
--- working-2.6.orig/include/asm-ppc64/tlb.h 2004-08-09 09:52:53.000000000 +1000
+++ working-2.6/include/asm-ppc64/tlb.h 2004-09-02 13:13:29.693032208 +1000
@@ -15,7 +15,14 @@
#include <asm/tlbflush.h>
struct mmu_gather;
-static inline void tlb_flush(struct mmu_gather *tlb);
+
+extern void pte_free_finish(void);
+
+static inline void tlb_flush(struct mmu_gather *tlb)
+{
+ flush_tlb_pending();
+ pte_free_finish();
+}
/* Avoid pulling in another include just for this */
#define check_pgt_cache() do { } while (0)
@@ -29,12 +36,4 @@
#define __tlb_remove_tlb_entry(tlb, pte, address) do { } while (0)
-extern void pte_free_finish(void);
-
-static inline void tlb_flush(struct mmu_gather *tlb)
-{
- flush_tlb_pending();
- pte_free_finish();
-}
-
#endif /* _PPC64_TLB_H */
--
David Gibson | For every complex problem there is a
david AT gibson.dropbear.id.au | solution which is simple, neat and
| wrong.
http://www.ozlabs.org/people/dgibson