Commit f1bee783 authored by Florian Fainelli's avatar Florian Fainelli

bus: brcmstb_gisb: register the fault code hook

Commit 44127b77 ("bus: add Broadcom GISB bus arbiter timeout/error
handler") added everything that is required to register an ARM fault
handler for imprecise external aborts, except that there is nothing
calling this currently.

We do not need to export that specific function and have to update
arch/arm/mach-bcm/brcmstb.c to call it, simply, register the fault
handler during the probe() function of the driver.
Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
parent 1aaaad3f
...@@ -160,12 +160,6 @@ static int brcmstb_bus_error_handler(unsigned long addr, unsigned int fsr, ...@@ -160,12 +160,6 @@ static int brcmstb_bus_error_handler(unsigned long addr, unsigned int fsr,
return ret; return ret;
} }
void __init brcmstb_hook_fault_code(void)
{
hook_fault_code(22, brcmstb_bus_error_handler, SIGBUS, 0,
"imprecise external abort");
}
static irqreturn_t brcmstb_gisb_timeout_handler(int irq, void *dev_id) static irqreturn_t brcmstb_gisb_timeout_handler(int irq, void *dev_id)
{ {
brcmstb_gisb_arb_decode_addr(dev_id, "timeout"); brcmstb_gisb_arb_decode_addr(dev_id, "timeout");
...@@ -261,6 +255,9 @@ static int brcmstb_gisb_arb_probe(struct platform_device *pdev) ...@@ -261,6 +255,9 @@ static int brcmstb_gisb_arb_probe(struct platform_device *pdev)
list_add_tail(&gdev->next, &brcmstb_gisb_arb_device_list); list_add_tail(&gdev->next, &brcmstb_gisb_arb_device_list);
hook_fault_code(22, brcmstb_bus_error_handler, SIGBUS, 0,
"imprecise external abort");
dev_info(&pdev->dev, "registered mem: %p, irqs: %d, %d\n", dev_info(&pdev->dev, "registered mem: %p, irqs: %d, %d\n",
gdev->base, timeout_irq, tea_irq); gdev->base, timeout_irq, tea_irq);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment