]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
bus: brcmstb_gisb: remove low-level ARM hooks
authorDoug Berger <opendmb@gmail.com>
Thu, 30 Mar 2017 00:29:12 +0000 (17:29 -0700)
committerFlorian Fainelli <f.fainelli@gmail.com>
Sun, 14 May 2017 03:18:56 +0000 (20:18 -0700)
The ARM architecture can provide meaningful diagnostic
output from the GISB arbiter solely from interrupts and
notifiers without the need to hook the low level fault
handlers.

Signed-off-by: Doug Berger <opendmb@gmail.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
drivers/bus/brcmstb_gisb.c

index a2e1c5c25a3accf0c6ddcc66ea7dc79bd63c6c2f..3fbc116e6b956fe3478122b3ecb9ce06ba5fd149 100644 (file)
 #include <linux/kdebug.h>
 #include <linux/notifier.h>
 
-#ifdef CONFIG_ARM
-#include <asm/bug.h>
-#include <asm/signal.h>
-#endif
-
 #ifdef CONFIG_MIPS
 #include <asm/traps.h>
 #endif
@@ -228,27 +223,6 @@ static int brcmstb_gisb_arb_decode_addr(struct brcmstb_gisb_arb_device *gdev,
        return 0;
 }
 
-#ifdef CONFIG_ARM
-static int brcmstb_bus_error_handler(unsigned long addr, unsigned int fsr,
-                                    struct pt_regs *regs)
-{
-       int ret = 0;
-       struct brcmstb_gisb_arb_device *gdev;
-
-       /* iterate over each GISB arb registered handlers */
-       list_for_each_entry(gdev, &brcmstb_gisb_arb_device_list, next)
-               ret |= brcmstb_gisb_arb_decode_addr(gdev, "bus error");
-       /*
-        * If it was an imprecise abort, then we need to correct the
-        * return address to be _after_ the instruction.
-       */
-       if (fsr & (1 << 10))
-               regs->ARM_pc += 4;
-
-       return ret;
-}
-#endif
-
 #ifdef CONFIG_MIPS
 static int brcmstb_bus_error_handler(struct pt_regs *regs, int is_fixup)
 {
@@ -415,10 +389,6 @@ static int __init brcmstb_gisb_arb_probe(struct platform_device *pdev)
 
        list_add_tail(&gdev->next, &brcmstb_gisb_arb_device_list);
 
-#ifdef CONFIG_ARM
-       hook_fault_code(22, brcmstb_bus_error_handler, SIGBUS, 0,
-                       "imprecise external abort");
-#endif
 #ifdef CONFIG_MIPS
        board_be_handler = brcmstb_bus_error_handler;
 #endif