Thread (29 messages) flat view 29 messages, 6 authors, 2022-03-25

Re: [RFC PATCH devicetree 00/10] Do something about ls-extirq interrupt-map breakage

From: Marc Zyngier <maz@kernel.org>
Date: 2021-12-14 08:51:59
Also in: linux-arm-kernel, lkml

On Tue, 14 Dec 2021 01:37:50 +0000,
Vladimir Oltean [off-list ref] wrote:
Currently the ls-extirq driver's use of the "interrupt-map" property is
double-broken:
- once by Rob Herring's commit 869f0ec048dc ("arm64: dts: freescale: Fix
  'interrupt-map' parent address cells")
- twice by Marc Zyngier's commit 041284181226 ("of/irq: Allow matching
  of an interrupt-map local to an interrupt controller"), later revised,
  not very elegantly, through commit de4adddcbcc2 ("of/irq: Add a quirk
Elegance is, I'm afraid to say, bloody overrated when dealing with
this sort of crap.

  for controllers with their own definition of interrupt-map"). So this
  part works but we're on an offender list.
Define 'part works'. Either it does, or it doesn't. There is no middle
ground here.
Mark suggests that the problem may lie with the ls-extirq driver, and
its interpretation of the "interrupt-map" property, to be exact.
s/Mark/Marc/, unless you are talking about someone else (who?).
This set of changes attempts to make the problem smaller by using a
vendor-specific name for the property, and reverts Rob's patch because
similarity with "interrupt-map" isn't actually a desirable feature after
all, it seems.

Vladimir Oltean (10):
  irqchip/ls-extirq: rename "interrupt-map" OF property to
    "fsl,extirq-map"
  Revert "arm64: dts: freescale: Fix 'interrupt-map' parent address
    cells"
  dt-bindings: ls-extirq: replace "interrupt-map" documentation with
    "fsl,extirq-map"
  arm64: dts: ls1043a: rename the "interrupt-map" of the extirq node to
    "fsl,extirq-map"
  arm64: dts: ls1046a: rename the "interrupt-map" of the extirq node to
    "fsl,extirq-map"
  arm64: dts: ls1088a: rename the "interrupt-map" of the extirq node to
    "fsl,extirq-map"
  arm64: dts: ls208xa: rename the "interrupt-map" of the extirq node to
    "fsl,extirq-map"
  arm64: dts: lx2160a: rename the "interrupt-map" of the extirq node to
    "fsl,extirq-map"
  ARM: dts: ls1021a: rename the "interrupt-map" of the extirq node to
    "fsl,extirq-map"
  dt-bindings: ls-extirq: add a YAML schema for the validator

 .../interrupt-controller/fsl,ls-extirq.txt    |  53 ---------
 .../interrupt-controller/fsl,ls-extirq.yaml   | 110 ++++++++++++++++++
 arch/arm/boot/dts/ls1021a.dtsi                |   3 +-
 .../arm64/boot/dts/freescale/fsl-ls1043a.dtsi |   3 +-
 .../arm64/boot/dts/freescale/fsl-ls1046a.dtsi |   3 +-
 .../arm64/boot/dts/freescale/fsl-ls1088a.dtsi |  27 +++--
 .../arm64/boot/dts/freescale/fsl-ls208xa.dtsi |  27 +++--
 .../arm64/boot/dts/freescale/fsl-lx2160a.dtsi |  27 +++--
 drivers/irqchip/irq-ls-extirq.c               |  12 +-
 9 files changed, 161 insertions(+), 104 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.txt
 create mode 100644 Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml
This is totally pointless. These machines have been in the wild for
years, and existing DTs will be there *forever*. The very notion of
'backporting' DT changes is totally ludicrous when it is some firmware
(ATF, u-boot, or something else *that isn't under your control*) that
provides the DT. It also breaks backward compatibility (old kernel
with new DT), which is just as important. Why do you think I went the
elegance-deprived route and added a quirk?

So no, I'm not taking the irqchip changes, as most of this churn
serves no purpose. The revert of 869f0ec048dc is the only thing that
makes some sense.

	M.

-- 
Without deviation from the norm, progress is not possible.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help