Re: [PATCH v5 2/9] drivers: irqchip: Add STM32 external interrupts support

From: Alexandre Torgue
Date: Tue Sep 20 2016 - 09:34:38 EST


On 09/20/2016 02:44 PM, Thomas Gleixner wrote:
On Tue, 20 Sep 2016, Alexandre Torgue wrote:


On 09/20/2016 11:51 AM, Thomas Gleixner wrote:
On Tue, 20 Sep 2016, Alexandre Torgue wrote:
On 09/14/2016 03:34 PM, Thomas Gleixner wrote:
Well, you just used some function in some context which is not
relevant to
the normal operation. So adding that mask() is just paranoia for no

A gentle reminder ping...
If ".free" callback is not relevant then I 'll remove it from exti domain.

Sorry for discussing about the same thing again (and again) but I just want to
be sure before sending a new version. As you know I have 2 domains: EXTI
domain (parent) and stm32-pinctrl-bank domain (child one).

There does it make sens to have ".free" callbacks defined in both domain
(actually if I define one for the child domain I have to define also ".free"
callback for parent domain (EXTI) as it is hierarchical) ?
If ".free" have no chance to be called then I will send a new version by
removing .free callbacks (in both domain).

Free will be called when a interrupt in the child domain is torn down,
i.e. when irq_domain_free_irqs() is called. And it will be called for both
domains like the alloc callback is invoked on both domains via

Thanks Thomas for this clarification (I'm sure now that we need .free callbacks).
irq_domain_free_irqs() is called in 2 scenario:
1- when issue occurs in irq_create_fwspec_mapping()
2- when irq_dispose_mapping() is called

Case 2 is the one I tested some times ago. In this case, I need to mask interrupts in .free callback of EXTI (parent) domain to avoid spurious interrupts.