From: Antonio Borneo <antonio.borneo@foss.st.com>
To: Rob Herring <robh@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
Maxime Coquelin <mcoquelin.stm32@gmail.com>,
Alexandre Torgue <alexandre.torgue@foss.st.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>, <linux-kernel@vger.kernel.org>,
<devicetree@vger.kernel.org>,
<linux-stm32@st-md-mailman.stormreply.com>,
<linux-arm-kernel@lists.infradead.org>,
Fabrice Gasnier <fabrice.gasnier@foss.st.com>
Subject: Re: [PATCH 02/12] dt-bindings: interrupt-controller: stm32-exti: Add irq nexus child node
Date: Fri, 23 Feb 2024 14:39:25 +0100 [thread overview]
Message-ID: <2eb11bf9dc0c5f49de3fb72c44dd16d8ca136813.camel@foss.st.com> (raw)
In-Reply-To: <20240222234300.GA3809915-robh@kernel.org>
On Thu, 2024-02-22 at 16:43 -0700, Rob Herring wrote:
> On Fri, Feb 16, 2024 at 10:47:47AM +0100, Antonio Borneo wrote:
> > The mapping of EXTI interrupts to its parent interrupt controller
> > is both SoC and instance dependent.
> > The current implementation requires adding a new table to the
> > driver's code and a new compatible for each new EXTI instance.
> >
> > Add to the binding an interrupt nexus child node that will be
> > used on the new EXTI instances and can be optionally used on the
> > existing instances.
> > The property 'interrupt-map' in the nexus node maps each EXTI
> > interrupt to the parent interrupt.
> > Align #address-cells and #interrupt-cells between the EXTI node
> > and its nexus node.
>
> Looks like an abuse of interrupt-map. You avoid adding yourself to the
> abuser list by putting it in a child node. Clever. (See list in
> drivers/of/irq.c if you don't know what I'm talking about)
Hi Rob,
thanks for the review.
Yes, I know already about the abuser list but, from the commit
message and the associated comment, I interpret it as an incorrect
use of the property interrupt-map with custom syntax thus relying
on custom parsing code.
The child nexus node in this series allows using the default parser
in kernel.
From your reply, looks like my interpretation is incorrect and I
missed the real concern about the abuser list.
Could you please explain why this use of interrupt-map is incorrect
and/or which are the correct use cases?
> I assume the EXTI has 0..N interrupts. Just define 'interrupts' with N
> entries with each entry mapping EXTI interrupt N to 'interrupts' entry
> N.
Yes, EXTI has 0..N interrupts that can be mapped to multiple
parent interrupt controllers and the mapping table has holes.
While the DT in this series only use one interrupt parent, a second
parent will follow.
So 'interrupts-extended' property would be a better matching than
'interrupts' to handle the multiple parents.
But how to code the missing entries in an 'interrupts-extended' list?
As in the example in Documentation/devicetree/bindings/dma/apple,admac.yaml ?
The 'interrupt-map' contains the matching EXTI index, thus allowing
a 'sparse' map where holes are simply ignored.
Best Regards,
Antonio
next prev parent reply other threads:[~2024-02-23 13:40 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-16 9:47 [PATCH 00/12] irqchip/stm32-exti: add irq-map and STM32MP25 support Antonio Borneo
2024-02-16 9:47 ` [PATCH 01/12] irqchip/stm32-exti: Fix minor indentation issue Antonio Borneo
2024-02-19 14:16 ` Thomas Gleixner
2024-02-16 9:47 ` [PATCH 02/12] dt-bindings: interrupt-controller: stm32-exti: Add irq nexus child node Antonio Borneo
2024-02-19 14:19 ` Thomas Gleixner
2024-04-15 13:37 ` Antonio Borneo
2024-02-22 23:43 ` Rob Herring
2024-02-23 13:39 ` Antonio Borneo [this message]
2024-02-16 9:47 ` [PATCH 03/12] irqchip/stm32-exti: Map interrupts through interrupt nexus node Antonio Borneo
2024-02-19 14:22 ` Thomas Gleixner
2024-02-16 9:47 ` [PATCH 04/12] irqchip/stm32-exti: Convert driver to standard PM Antonio Borneo
2024-02-16 9:47 ` [PATCH 05/12] irqchip/stm32-exti: Skip secure events Antonio Borneo
2024-02-16 9:47 ` [PATCH 06/12] irqchip/stm32-exti: Mark events reserved with RIF configuration check Antonio Borneo
2024-02-16 9:47 ` [PATCH 07/12] arm64: Kconfig.platforms: Enable STM32_EXTI for ARCH_STM32 Antonio Borneo
2024-02-16 9:47 ` [PATCH 08/12] ARM: dts: stm32: Use exti interrupt-map on stm32mp151 Antonio Borneo
2024-02-16 9:47 ` [PATCH 09/12] ARM: dts: stm32: Use exti interrupt-map on stm32mp131 Antonio Borneo
2024-02-16 9:47 ` [PATCH 10/12] arm64: dts: st: Add v2m to GIC node on stm32mp251 Antonio Borneo
2024-02-16 9:47 ` [PATCH 11/12] arm64: dts: st: Add exti1 and exti2 nodes " Antonio Borneo
2024-02-16 9:47 ` [PATCH 12/12] arm64: dts: st: Add interrupt parent to pinctrl " Antonio Borneo
2024-04-15 13:49 ` [PATCH v2 00/11] irqchip/stm32-exti: add irq map in DT and STM32MP25 support Antonio Borneo
2024-04-15 13:49 ` [PATCH v2 01/11] irqchip/stm32-exti: Fix minor indentation issue Antonio Borneo
2024-04-15 13:49 ` [PATCH v2 02/11] dt-bindings: interrupt-controller: stm32-exti: Add irq mapping to parent Antonio Borneo
2024-04-17 18:09 ` Rob Herring
2024-04-15 13:49 ` [PATCH v2 03/11] irqchip/stm32-exti: Map interrupts through interrupts-extended Antonio Borneo
2024-04-15 13:49 ` [PATCH v2 04/11] irqchip/stm32-exti: Convert driver to standard PM Antonio Borneo
2024-04-15 13:49 ` [PATCH v2 05/11] irqchip/stm32-exti: Skip secure events Antonio Borneo
2024-04-15 13:49 ` [PATCH v2 06/11] irqchip/stm32-exti: Mark events reserved with RIF configuration check Antonio Borneo
2024-04-15 13:49 ` [PATCH v2 07/11] arm64: Kconfig.platforms: Enable STM32_EXTI for ARCH_STM32 Antonio Borneo
2024-04-15 13:49 ` [PATCH v2 08/11] ARM: dts: stm32: List exti parent interrupts on stm32mp151 Antonio Borneo
2024-04-15 13:49 ` [PATCH v2 09/11] ARM: dts: stm32: List exti parent interrupts on stm32mp131 Antonio Borneo
2024-04-15 13:49 ` [PATCH v2 10/11] arm64: dts: st: Add exti1 and exti2 nodes on stm32mp251 Antonio Borneo
2024-04-15 13:49 ` [PATCH v2 11/11] arm64: dts: st: Add interrupt parent to pinctrl " Antonio Borneo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2eb11bf9dc0c5f49de3fb72c44dd16d8ca136813.camel@foss.st.com \
--to=antonio.borneo@foss.st.com \
--cc=alexandre.torgue@foss.st.com \
--cc=catalin.marinas@arm.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=fabrice.gasnier@foss.st.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=robh@kernel.org \
--cc=tglx@linutronix.de \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).