Subject: Re: [PATCH v2 devicetree] Revert "arm64: dts: freescale: Fix 'interrupt-map' parent address cells"

From: Marc Zyngier <[email-masked]>
Date: Sun, 02 Jan 2022 13:08:28 +0000

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/[email-masked]/
>> 
>> (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/[email-masked]/
>> 
>> 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 <[email-masked]>
>> ---
>> 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 <[email-masked]>

Rob, Shawn, can you please queue this as an urgent fix for 5.16?

Thanks,

         M.
-- 
Jazz is not dead. It just smells funny...

_______________________________________________
linux-arm-kernel mailing list
[email-masked]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel