irqchip/stm32-exti: Fix irq_mask/irq_unmask for direct events
authorLoic Pallardy <loic.pallardy@foss.st.com>
Mon, 6 Jun 2022 16:27:53 +0000 (18:27 +0200)
committerMarc Zyngier <maz@kernel.org>
Thu, 7 Jul 2022 08:07:44 +0000 (09:07 +0100)
The driver has to mask/unmask the corresponding flag in the
Interrupt Mask Register (IMR).
This is already done for configurable event, while direct events
only forward the mask/unmask request to the parent.

Use the existing stm32_exti_h_mask()/stm32_exti_h_unmask() for
direct events too.

Signed-off-by: Loic Pallardy <loic.pallardy@foss.st.com>
Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20220606162757.415354-3-antonio.borneo@foss.st.com
drivers/irqchip/irq-stm32-exti.c

index 10c9c74..1145f06 100644 (file)
@@ -691,8 +691,8 @@ static struct irq_chip stm32_exti_h_chip_direct = {
        .name                   = "stm32-exti-h-direct",
        .irq_eoi                = irq_chip_eoi_parent,
        .irq_ack                = irq_chip_ack_parent,
-       .irq_mask               = irq_chip_mask_parent,
-       .irq_unmask             = irq_chip_unmask_parent,
+       .irq_mask               = stm32_exti_h_mask,
+       .irq_unmask             = stm32_exti_h_unmask,
        .irq_retrigger          = irq_chip_retrigger_hierarchy,
        .irq_set_type           = irq_chip_set_type_parent,
        .irq_set_wake           = stm32_exti_h_set_wake,