On Mon, Jan 03, 2022 at 07:30:44PM +0800, Shawn Guo wrote: > On Sun, Jan 02, 2022 at 01:08:28PM +0000, Marc Zyngier wrote: > > On 2021-12-31 18:13, Vladimir Oltean wrote: > > > Hello, > > > > > > On Tue, Dec 14, 2021 at 03:58:52PM +0200, Vladimir Oltean wrote: > > > > This reverts commit 869f0ec048dc8fd88c0b2003373bd985795179fb. That > > > > updated the expected device tree binding format for the ls-extirq > > > > driver, without also updating the parsing code (ls_extirq_parse_map) > > > > to the new format. > > > > > > > > The context is that the ls-extirq driver uses the standard > > > > "interrupt-map" OF property in a non-standard way, as suggested by > > > > Rob Herring during review: > > > > https://lore.kernel.org/lkml/20190927161118.GA19333@bogus/ > > > > > > > > This has turned out to be problematic, as Marc Zyngier discovered > > > > through commit 041284181226 ("of/irq: Allow matching of an > > > > interrupt-map > > > > local to an interrupt controller"), later fixed through commit > > > > de4adddcbcc2 ("of/irq: Add a quirk for controllers with their own > > > > definition of interrupt-map"). Marc's position, expressed on multiple > > > > opportunities, is that: > > > > > > > > (a) [ making private use of the reserved "interrupt-map" name in a > > > > driver ] "is wrong, by the very letter of what an interrupt-map > > > > means. If the interrupt map points to an interrupt controller, > > > > that's the target for the interrupt." > > > > https://lore.kernel.org/lkml/87k0g8jlmg.wl-maz@xxxxxxxxxx/ > > > > > > > > (b) [ updating the driver's bindings to accept a non-reserved name for > > > > this property, as an alternative, is ] "is totally pointless. > > > > These > > > > machines have been in the wild for years, and existing DTs will be > > > > there *forever*." > > > > https://lore.kernel.org/lkml/87ilvrk1r0.wl-maz@xxxxxxxxxx/ > > > > > > > > Considering the above, the Linux kernel has quirks in place to deal > > > > with > > > > the ls-extirq's non-standard use of the "interrupt-map". These quirks > > > > may be needed in other operating systems that consume this device > > > > tree, > > > > yet this is seen as the only viable solution. > > > > > > > > Therefore, the premise of the patch being reverted here is invalid. > > > > It doesn't matter whether the driver, in its non-standard use of the > > > > property, complies to the standard format or not, since this property > > > > isn't expected to be used for interrupt translation by the core. > > > > > > > > This change restores LS1088A, LS2088A/LS2085A and LX2160A to their > > > > previous bindings, which allows these systems to continue to use > > > > external interrupt lines with the correct polarity. > > > > > > > > Fixes: 869f0ec048dc ("arm64: dts: freescale: Fix 'interrupt-map' > > > > parent address cells") > > > > Signed-off-by: Vladimir Oltean <vladimir.oltean@xxxxxxx> > > > > --- > > > > v1->v2: remove the other 9 patches that rename "interrupt-map" to > > > > "fsl,extirq-map", at Marc's suggestion. > > > > > > Could this patch be considered for merging in v5.16? The problem is > > > going to be quite a bit more severe and tricky to fix otherwise. Thanks. > > > > FWIW: > > > > Acked-by: Marc Zyngier <maz@xxxxxxxxxx> > > > > Rob, Shawn, can you please queue this as an urgent fix for 5.16? > > I would rather leave this to Rob, as I haven't heard anything from him > on this reverting (on his commit). > Could this patch be queued up as a fix for v5.16 and v5.17? Ioana