mirror of
https://github.com/nxp-imx/linux-imx.git
synced 2025-07-11 20:05:22 +02:00
of/irq: Disable "interrupt-map" parsing for PASEMI Nemo
commit2cf6b7d15a
upstream. Once again, we've broken PASEMI Nemo boards with its incomplete "interrupt-map" translations. Commit935df1bd40
("of/irq: Factor out parsing of interrupt-map parent phandle+args from of_irq_parse_raw()") changed the behavior resulting in the existing work-around not taking effect. Rework the work-around to just skip parsing "interrupt-map" up front by using the of_irq_imap_abusers list. Fixes:935df1bd40
("of/irq: Factor out parsing of interrupt-map parent phandle+args from of_irq_parse_raw()") Reported-by: Christian Zigotzky <chzigotzky@xenosoft.de> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/86ed8ba2sp.wl-maz@kernel.org Signed-off-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
b0fc1bd251
commit
9ca15d7699
|
@ -81,7 +81,8 @@ EXPORT_SYMBOL_GPL(of_irq_find_parent);
|
||||||
/*
|
/*
|
||||||
* These interrupt controllers abuse interrupt-map for unspeakable
|
* These interrupt controllers abuse interrupt-map for unspeakable
|
||||||
* reasons and rely on the core code to *ignore* it (the drivers do
|
* reasons and rely on the core code to *ignore* it (the drivers do
|
||||||
* their own parsing of the property).
|
* their own parsing of the property). The PAsemi entry covers a
|
||||||
|
* non-sensical interrupt-map that is better left ignored.
|
||||||
*
|
*
|
||||||
* If you think of adding to the list for something *new*, think
|
* If you think of adding to the list for something *new*, think
|
||||||
* again. There is a high chance that you will be sent back to the
|
* again. There is a high chance that you will be sent back to the
|
||||||
|
@ -95,6 +96,7 @@ static const char * const of_irq_imap_abusers[] = {
|
||||||
"fsl,ls1043a-extirq",
|
"fsl,ls1043a-extirq",
|
||||||
"fsl,ls1088a-extirq",
|
"fsl,ls1088a-extirq",
|
||||||
"renesas,rza1-irqc",
|
"renesas,rza1-irqc",
|
||||||
|
"pasemi,rootbus",
|
||||||
NULL,
|
NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -293,20 +295,8 @@ int of_irq_parse_raw(const __be32 *addr, struct of_phandle_args *out_irq)
|
||||||
imaplen -= imap - oldimap;
|
imaplen -= imap - oldimap;
|
||||||
pr_debug(" -> imaplen=%d\n", imaplen);
|
pr_debug(" -> imaplen=%d\n", imaplen);
|
||||||
}
|
}
|
||||||
if (!match) {
|
if (!match)
|
||||||
if (intc) {
|
|
||||||
/*
|
|
||||||
* The PASEMI Nemo is a known offender, so
|
|
||||||
* let's only warn for anyone else.
|
|
||||||
*/
|
|
||||||
WARN(!IS_ENABLED(CONFIG_PPC_PASEMI),
|
|
||||||
"%pOF interrupt-map failed, using interrupt-controller\n",
|
|
||||||
ipar);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Successfully parsed an interrupt-map translation; copy new
|
* Successfully parsed an interrupt-map translation; copy new
|
||||||
|
|
Loading…
Reference in New Issue
Block a user