[PATCH v2 2/3] ARM: OMAP2+: remove custom abort handler for t410
Tony Lindgren
tony at atomide.com
Thu Nov 12 09:51:17 PST 2015
* Lucas Stach <l.stach at pengutronix.de> [151112 05:33]:
> Tony,
>
> can you please take this patch through the OMAP tree for 4.4? The first
> patch in this series went in through Russells tree, so the below code
> now has the possibility to hide a real abort later during boot.
OK will do thanks. I've also verified that the abort handler is no longer
needed. After seeing where it happens, fixing it was trivial :)
FYI, the fix was 57df53808534 ("ARM: OMAP2+: Fix imprecise external abort
caused by bogus SRAM init"). Other platforms may have similar issues where
it's not really anything left behind by the bootloader but a real kernel
bug.
Regards,
Tony
>
> Am Donnerstag, den 15.10.2015, 12:32 +0200 schrieb Lucas Stach:
> > 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 at pengutronix.de>
> > Acked-by: Tony Lindgren <tony at atomide.com>
> > ---
> > arch/arm/mach-omap2/pdata-quirks.c | 29 -----------------------------
> > 1 file changed, 29 deletions(-)
> >
> > diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
> > index ea56397599c2..3a2bc2a88db4 100644
> > --- a/arch/arm/mach-omap2/pdata-quirks.c
> > +++ b/arch/arm/mach-omap2/pdata-quirks.c
> > @@ -24,9 +24,6 @@
> > #include <linux/platform_data/iommu-omap.h>
> > #include <linux/platform_data/wkup_m3.h>
> >
> > -#include <asm/siginfo.h>
> > -#include <asm/signal.h>
> > -
> > #include "common.h"
> > #include "common-board-devices.h"
> > #include "dss-common.h"
> > @@ -385,29 +382,6 @@ static void __init omap3_pandora_legacy_init(void)
> > }
> > #endif /* CONFIG_ARCH_OMAP3 */
> >
> > -#ifdef CONFIG_SOC_TI81XX
> > -static int fault_fixed_up;
> > -
> > -static int t410_abort_handler(unsigned long addr, unsigned int fsr,
> > - struct pt_regs *regs)
> > -{
> > - if ((fsr == 0x406 || fsr == 0xc06) && !fault_fixed_up) {
> > - pr_warn("External imprecise Data abort at addr=%#lx, fsr=%#x ignored.\n",
> > - addr, fsr);
> > - fault_fixed_up = 1;
> > - return 0;
> > - }
> > -
> > - return 1;
> > -}
> > -
> > -static void __init t410_abort_init(void)
> > -{
> > - hook_fault_code(16 + 6, t410_abort_handler, SIGBUS, BUS_OBJERR,
> > - "imprecise external abort");
> > -}
> > -#endif
> > -
> > #if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5)
> > static struct iommu_platform_data omap4_iommu_pdata = {
> > .reset_name = "mmu_cache",
> > @@ -536,9 +510,6 @@ static struct pdata_init pdata_quirks[] __initdata = {
> > { "openpandora,omap3-pandora-600mhz", omap3_pandora_legacy_init, },
> > { "openpandora,omap3-pandora-1ghz", omap3_pandora_legacy_init, },
> > #endif
> > -#ifdef CONFIG_SOC_TI81XX
> > - { "hp,t410", t410_abort_init, },
> > -#endif
> > #ifdef CONFIG_SOC_OMAP5
> > { "ti,omap5-uevm", omap5_uevm_legacy_init, },
> > #endif
>
> --
> Pengutronix e.K. | Lucas Stach |
> Industrial Linux Solutions | http://www.pengutronix.de/ |
>
More information about the linux-arm-kernel
mailing list