aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/include/asm/page.h
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-07-27 21:30:17 +0900
committerPaul Mundt <lethal@linux-sh.org>2009-07-27 21:30:17 +0900
commit0dfae7d5a21901b28ec0452d71be64adf5ea323e (patch)
tree1ff16641313a76505ec89058d953c92d355af275 /arch/sh/include/asm/page.h
parentsh: Rename arch/sh/lib/clear_page.S -> __clear_user.S. (diff)
downloadlinux-dev-0dfae7d5a21901b28ec0452d71be64adf5ea323e.tar.xz
linux-dev-0dfae7d5a21901b28ec0452d71be64adf5ea323e.zip
sh: Use the now generic SH-4 clear/copy page ops for all MMU platforms.
Now that the SH-4 page clear/copy ops are generic, they can be used for all platforms with CONFIG_MMU=y. SH-5 remains the odd one out, but it too will gradually be converted over to using this interface. SH-3 platforms which do not contain aliases will see no impact from this change, while aliasing SH-3 platforms will get the same interface as SH-4. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include/asm/page.h')
-rw-r--r--arch/sh/include/asm/page.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/arch/sh/include/asm/page.h b/arch/sh/include/asm/page.h
index 5208b7bfc24e..847eeabb9083 100644
--- a/arch/sh/include/asm/page.h
+++ b/arch/sh/include/asm/page.h
@@ -63,22 +63,23 @@ extern void copy_page(void *to, void *from);
struct page;
struct vm_area_struct;
-#if !defined(CONFIG_CACHE_OFF) && defined(CONFIG_MMU) && \
- (defined(CONFIG_CPU_SH5) || defined(CONFIG_CPU_SH4) || \
- defined(CONFIG_SH7705_CACHE_32KB))
+#if defined(CONFIG_CPU_SH5)
extern void clear_user_page(void *to, unsigned long address, struct page *page);
extern void copy_user_page(void *to, void *from, unsigned long address,
struct page *page);
-#if defined(CONFIG_CPU_SH4) || defined(CONFIG_SH7705_CACHE_32KB)
+
+#elif defined(CONFIG_MMU)
extern void copy_user_highpage(struct page *to, struct page *from,
unsigned long vaddr, struct vm_area_struct *vma);
#define __HAVE_ARCH_COPY_USER_HIGHPAGE
extern void clear_user_highpage(struct page *page, unsigned long vaddr);
#define clear_user_highpage clear_user_highpage
-#endif
+
#else
+
#define clear_user_page(page, vaddr, pg) clear_page(page)
#define copy_user_page(to, from, vaddr, pg) copy_page(to, from)
+
#endif
/*