sh: Convert SH-3 to new cacheflush interface.
authorPaul Mundt <lethal@linux-sh.org>
Sat, 15 Aug 2009 03:42:55 +0000 (12:42 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Sat, 15 Aug 2009 03:42:55 +0000 (12:42 +0900)
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/mm/cache-sh3.c
arch/sh/mm/cache.c

index 6d1dbec..faef80c 100644 (file)
@@ -32,7 +32,7 @@
  * SIZE: Size of the region.
  */
 
-void __flush_wback_region(void *start, int size)
+static void sh3__flush_wback_region(void *start, int size)
 {
        unsigned long v, j;
        unsigned long begin, end;
@@ -71,7 +71,7 @@ void __flush_wback_region(void *start, int size)
  * START: Virtual Address (U0, P1, or P3)
  * SIZE: Size of the region.
  */
-void __flush_purge_region(void *start, int size)
+static void sh3__flush_purge_region(void *start, int size)
 {
        unsigned long v;
        unsigned long begin, end;
@@ -90,11 +90,16 @@ void __flush_purge_region(void *start, int size)
        }
 }
 
-/*
- * No write back please
- *
- * Except I don't think there's any way to avoid the writeback. So we
- * just alias it to __flush_purge_region(). dwmw2.
- */
-void __flush_invalidate_region(void *start, int size)
-       __attribute__((alias("__flush_purge_region")));
+void __init sh3_cache_init(void)
+{
+       __flush_wback_region = sh3__flush_wback_region;
+       __flush_purge_region = sh3__flush_purge_region;
+
+       /*
+        * No write back please
+        *
+        * Except I don't think there's any way to avoid the writeback.
+        * So we just alias it to sh3__flush_purge_region(). dwmw2.
+        */
+       __flush_invalidate_region = sh3__flush_purge_region;
+}
index b56cce4..c9480b4 100644 (file)
@@ -256,6 +256,12 @@ void __init cpu_cache_init(void)
                sh2a_cache_init();
        }
 
+       if (boot_cpu_data.family == CPU_FAMILY_SH3) {
+               extern void __weak sh3_cache_init(void);
+
+               sh3_cache_init();
+       }
+
        if ((boot_cpu_data.family == CPU_FAMILY_SH4) ||
            (boot_cpu_data.family == CPU_FAMILY_SH4A) ||
            (boot_cpu_data.family == CPU_FAMILY_SH4AL_DSP)) {