From: Benjamin Herrenschmidt frv is the last user in the tree of that dubious hook, and it's my understanding that it's not even needed. It's only called by memory.c free_pgd_range() which is always called within an mmu_gather, and tlb_flush() on frv will do a flush_tlb_mm(), which from my reading of the code, seems to do what flush_tlb_ptables() does, which is to clear the cached PGE. Signed-off-by: Benjamin Herrenschmidt Acked-By: David Howells Signed-off-by: Andrew Morton --- include/asm-frv/tlbflush.h | 3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) diff -puN include/asm-frv/tlbflush.h~remove-frv-usage-of-flush_tlb_pgtables include/asm-frv/tlbflush.h --- a/include/asm-frv/tlbflush.h~remove-frv-usage-of-flush_tlb_pgtables +++ a/include/asm-frv/tlbflush.h @@ -57,8 +57,7 @@ do { \ #define __flush_tlb_global() flush_tlb_all() #define flush_tlb() flush_tlb_all() #define flush_tlb_kernel_range(start, end) flush_tlb_all() -#define flush_tlb_pgtables(mm,start,end) \ - asm volatile("movgs %0,scr0 ! movgs %0,scr1" :: "r"(ULONG_MAX) : "memory"); +#define flush_tlb_pgtables(mm,start,end) do { } while(0) #else _