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

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


Thomas,

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

Thomas,

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
value.

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
irq_domain_alloc_irqs().

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.

Regards

Alex



Thanks,

tglx