aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/mm/cache.c
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-08-15 11:05:42 +0900
committerPaul Mundt <lethal@linux-sh.org>2009-08-15 11:05:42 +0900
commitecba1060583635ab55092072441ff903b5e9a659 (patch)
treed84dc75eae0b1bb2a2751240783444e2e92ca695 /arch/sh/mm/cache.c
parentsh: Track the CPU family in sh_cpuinfo. (diff)
downloadlinux-dev-ecba1060583635ab55092072441ff903b5e9a659.tar.xz
linux-dev-ecba1060583635ab55092072441ff903b5e9a659.zip
sh: Centralize the CPU cache initialization routines.
This provides a central point for CPU cache initialization routines. This replaces the antiquated p3_cache_init() method, which the vast majority of CPUs never cared about. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/mm/cache.c')
-rw-r--r--arch/sh/mm/cache.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/sh/mm/cache.c b/arch/sh/mm/cache.c
index f51d0a4eb3ba..659981ffae24 100644
--- a/arch/sh/mm/cache.c
+++ b/arch/sh/mm/cache.c
@@ -127,3 +127,14 @@ void __flush_anon_page(struct page *page, unsigned long vmaddr)
__flush_wback_region((void *)addr, PAGE_SIZE);
}
}
+
+void __init cpu_cache_init(void)
+{
+ if ((boot_cpu_data.family == CPU_FAMILY_SH4) ||
+ (boot_cpu_data.family == CPU_FAMILY_SH4A) ||
+ (boot_cpu_data.family == CPU_FAMILY_SH4AL_DSP)) {
+ extern void __weak sh4_cache_init(void);
+
+ sh4_cache_init();
+ }
+}