From e6b1b38c520d85388ab6538001265cc342e81a70 Mon Sep 17 00:00:00 2001
From: Russell King <rmk@dyn-67.arm.linux.org.uk>
Date: Sat, 24 Jun 2006 10:46:23 +0100
Subject: [PATCH] [ARM] nommu: Provide a simple flush_dcache_page
 implementation

nommu doesn't require a complex flush_dcache_page implementation
like the MMU-ful CPUs do, so provide a simplified version in nommu.c
and omit flush.c from the build as appropriate.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
---
 arch/arm/mm/Makefile | 4 ++--
 arch/arm/mm/nommu.c  | 8 ++++++++
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mm/Makefile b/arch/arm/mm/Makefile
index 07891c83e52..ddce0387898 100644
--- a/arch/arm/mm/Makefile
+++ b/arch/arm/mm/Makefile
@@ -3,10 +3,10 @@
 #
 
 obj-y				:= consistent.o extable.o fault-armv.o \
-				   fault.o flush.o init.o iomap.o mmap.o \
+				   fault.o init.o iomap.o mmap.o \
 				   mm-armv.o
 
-obj-$(CONFIG_MMU)		+= ioremap.o
+obj-$(CONFIG_MMU)		+= flush.o ioremap.o
 
 ifneq ($(CONFIG_MMU),y)
 obj-y				+= nommu.o
diff --git a/arch/arm/mm/nommu.c b/arch/arm/mm/nommu.c
index 934c551d93d..10166fdeaac 100644
--- a/arch/arm/mm/nommu.c
+++ b/arch/arm/mm/nommu.c
@@ -4,10 +4,18 @@
  * ARM uCLinux supporting functions.
  */
 #include <linux/module.h>
+#include <linux/mm.h>
+#include <linux/pagemap.h>
 
+#include <asm/cacheflush.h>
 #include <asm/io.h>
 #include <asm/page.h>
 
+void flush_dcache_page(struct page *page)
+{
+	__cpuc_flush_dcache_page(page_address(page));
+}
+
 void __iomem *__ioremap_pfn(unsigned long pfn, unsigned long offset,
 			    size_t size, unsigned long flags)
 {
-- 
2.41.3