ARM: BCM5301X: remove workaround imprecise abort fault handler
authorLucas Stach <l.stach@pengutronix.de>
Thu, 15 Oct 2015 10:32:22 +0000 (12:32 +0200)
committerFlorian Fainelli <f.fainelli@gmail.com>
Wed, 25 Nov 2015 00:00:26 +0000 (16:00 -0800)
This is not needed anymore. Handling a potentially pending imprecise external
abort left behind by the bootloader is now done in a slightly safer way inside
the common ARM startup code.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
Tested-by: Tyler Baker <tyler.baker@linaro.org>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
arch/arm/mach-bcm/bcm_5301x.c

index 5478fe6bcce60200b67537a93209225741fa98ed..c8830a2b0d600341b342950b3aebf262b5682d82 100644 (file)
@@ -9,40 +9,6 @@
 #include <asm/hardware/cache-l2x0.h>
 
 #include <asm/mach/arch.h>
-#include <asm/siginfo.h>
-#include <asm/signal.h>
-
-
-static bool first_fault = true;
-
-static int bcm5301x_abort_handler(unsigned long addr, unsigned int fsr,
-                                struct pt_regs *regs)
-{
-       if ((fsr == 0x1406 || fsr == 0x1c06) && first_fault) {
-               first_fault = false;
-
-               /*
-                * These faults with codes 0x1406 (BCM4709) or 0x1c06 happens
-                * for no good reason, possibly left over from the CFE boot
-                * loader.
-                */
-               pr_warn("External imprecise Data abort at addr=%#lx, fsr=%#x ignored.\n",
-                       addr, fsr);
-
-               /* Returning non-zero causes fault display and panic */
-               return 0;
-       }
-
-       /* Others should cause a fault */
-       return 1;
-}
-
-static void __init bcm5301x_init_early(void)
-{
-       /* Install our hook */
-       hook_fault_code(16 + 6, bcm5301x_abort_handler, SIGBUS, BUS_OBJERR,
-                       "imprecise external abort");
-}
 
 static const char *const bcm5301x_dt_compat[] __initconst = {
        "brcm,bcm4708",
@@ -52,6 +18,5 @@ static const char *const bcm5301x_dt_compat[] __initconst = {
 DT_MACHINE_START(BCM5301X, "BCM5301X")
        .l2c_aux_val    = 0,
        .l2c_aux_mask   = ~0,
-       .init_early     = bcm5301x_init_early,
        .dt_compat      = bcm5301x_dt_compat,
 MACHINE_END