Hi Marc, On Tue, 2022-02-15 at 12:09 +0000, Marc Zyngier wrote: > On Mon, 14 Feb 2022 18:56:57 +0000, > Sander Vanheule <sander@xxxxxxxxxxxxx> wrote: > > > > The original implementation for this interrupt controller/router used > > an interrupt-map parser to determine which parent interrupts were > > present. However, this controller is not transparent, so a list of > > parent interrupts seems more appropriate, while also getting rid of the > > assumed routing to parent interrupts. > > > > Additionally, N real cascaded interrupts are implemented, instead of > > handling all input interrupts with one cascaded interrupt. Otherwise it > > is possible that the priority of the parent interrupts is not respected. > > My original question[1] still stands. An old kernel breaks with a new > DT. I am not convinced that this is an acceptable outcome. > > M. > > [1] https://lore.kernel.org/all/874k585efy.wl-maz@xxxxxxxxxx My apologies for the delay in replying, although I suppose the lack of response from others perhaps indicates that there is little interest maintaining old kernel/new DT compatibility for this hardware. John has previously argued in favour of breaking compatibility [2]. Chances of someone running a vanilla kernel build on this hardware are close to zero at this moment. The most important part, the internal ethernet switch, is only supported with out-of-tree patches. If patches can be included on an old (LTS) kernel to provide networking support, then patches can be included to be compatible with a new DT specification for the interrupts as well. OpenWrt does exactly this: use an old (5.10) kernel with new upstream features backported. The binding could be adjusted to allow (but deprecate) interrupt-map for the new two-part compatibles. This would require a new DT to both specify two-cell interrupt specifiers, and an equivalent interrupt-map definition to ensure perfect two-way compatibility. This duplicated info would need to be maintained for years however, as LTS kernels stay around for a long time. In my opinion, breaking compatibility with old kernels would allow us to move forward with a cleaner driver and binding. Best, Sander [2] https://lore.kernel.org/all/9c169aad-3c7b-2ffb-90a2-1ca791a3f411@xxxxxxxxxxx/