MIPS: Use board_cache_error_setup for r4k cache error handler setup.
authorDavid Daney <david.daney@cavium.com>
Tue, 15 May 2012 07:04:49 +0000 (00:04 -0700)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 16 May 2012 21:34:34 +0000 (23:34 +0200)
Signed-off-by: David Daney <david.daney@cavium.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/3821/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/mm/c-r4k.c

index bda8eb26ece74098ecaa49c2693ab40dd2bcb772..5109be96d98d099ec8509dd1de6a9048f5c4b82d 100644 (file)
@@ -32,7 +32,7 @@
 #include <asm/mmu_context.h>
 #include <asm/war.h>
 #include <asm/cacheflush.h> /* for run_uncached() */
-
+#include <asm/traps.h>
 
 /*
  * Special Variant of smp_call_function for use by cache functions:
@@ -1385,10 +1385,8 @@ static int __init setcoherentio(char *str)
 __setup("coherentio", setcoherentio);
 #endif
 
-void __cpuinit r4k_cache_init(void)
+static void __cpuinit r4k_cache_error_setup(void)
 {
-       extern void build_clear_page(void);
-       extern void build_copy_page(void);
        extern char __weak except_vec2_generic;
        extern char __weak except_vec2_sb1;
        struct cpuinfo_mips *c = &current_cpu_data;
@@ -1403,6 +1401,13 @@ void __cpuinit r4k_cache_init(void)
                set_uncached_handler(0x100, &except_vec2_generic, 0x80);
                break;
        }
+}
+
+void __cpuinit r4k_cache_init(void)
+{
+       extern void build_clear_page(void);
+       extern void build_copy_page(void);
+       struct cpuinfo_mips *c = &current_cpu_data;
 
        probe_pcache();
        setup_scache();
@@ -1465,4 +1470,5 @@ void __cpuinit r4k_cache_init(void)
        local_r4k___flush_cache_all(NULL);
 #endif
        coherency_setup();
+       board_cache_error_setup = r4k_cache_error_setup;
 }