Devicetree fix for 6.10, part 2:

- One fix for PASemi Nemo board interrupts
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEktVUI4SxYhzZyEuo+vtdtY28YcMFAmaNuf4ACgkQ+vtdtY28
 YcPFKQ/9HN09dn9ShKggWFJO0nJvJNcI0aObqBynHpsFSVPHiEWPeu8Td144SHvr
 ofc7UmOn80Q14O9wMkcvlZrkPAZJeBKHTwoeZ8L0bmGTwJQ/24ksqsNZGQi8zZDn
 WKhpgh8wNC4VYync51hBm2UpnPbbJJ7mZ/h6KY+TOqs7tl82bJDDmilQzNl8+Z9w
 3i8Qge1yeDmOPVKyx3RAKMu6QcqmAg3B93BVuqUpg3kyO5i4TAZfX8lb7+WI4GOL
 MmfpzRezTrY0SAlFekuJYFND6TovY5rKZHYgxoYwfHZkv9VpnjsoZ4MYpTu0NQ0l
 ZqkpD1ffGRnsYTCbGSlWufVjQT6kmLlJ3PnkuBKcPKQ1tIsECl9eq7C50845Rfma
 Qiyf8T+T3ix/rfN7OjdJsxOIbjJXb9F8nkfhprwpf1AHnsOQyhndPrIhl3NgcGXX
 uJtf+i0FbHPDqZCmMWGx6Z0xqm1jetT3QST5M4fn5rsrdA23yv1lWbuGDu50XYTP
 bsMnNP8zbZrU/oiBfehCSN4OMd13A4IakmZ9oBGIwqgGIjCpqFY4LPWHmFDDHbTv
 UDfmbl4POWClREPDuVCEXaP+imMrcyrGvjev47xEeJTDVt+rTJfTTJ1cOtjI3yfc
 W/xuTkjpvLymP8tzxLEwxsJOtPH6wbn3YQ+rzD5dwE18buucqXM=
 =2zwc
 -----END PGP SIGNATURE-----

Merge tag 'devicetree-fixes-for-6.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux

Pull devicetree fix from Rob Herring:

 - One fix for PASemi Nemo board interrupts

* tag 'devicetree-fixes-for-6.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
  of/irq: Disable "interrupt-map" parsing for PASEMI Nemo
This commit is contained in:
Linus Torvalds 2024-07-10 08:58:50 -07:00
commit 367cbaad88

View File

@ -81,7 +81,8 @@ EXPORT_SYMBOL_GPL(of_irq_find_parent);
/*
* These interrupt controllers abuse interrupt-map for unspeakable
* 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
* 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,ls1088a-extirq",
"renesas,rza1-irqc",
"pasemi,rootbus",
NULL,
};
@ -293,20 +295,8 @@ int of_irq_parse_raw(const __be32 *addr, struct of_phandle_args *out_irq)
imaplen -= imap - oldimap;
pr_debug(" -> imaplen=%d\n", imaplen);
}
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;
}
if (!match)
goto fail;
}
/*
* Successfully parsed an interrupt-map translation; copy new