]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
gpio: brcmstb: implement .irq_mask_ack()
authorDoug Berger <opendmb@gmail.com>
Wed, 4 Feb 2026 16:43:32 +0000 (08:43 -0800)
committerBartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Mon, 23 Feb 2026 09:38:32 +0000 (10:38 +0100)
commit66ff5094240e6e5cea743f5e656e28734de31f1e
tree8e5228f0c15c0987f7086666c7e28c96a51b00c2
parent5711ae6de0646dcf5bf90cc9d4d7cacd34896472
gpio: brcmstb: implement .irq_mask_ack()

The .irq_mask_ack() operation is slightly more efficient than doing
.irq_mask() and .irq_ack() separately.

More importantly for this driver it bypasses the check of
irqd_irq_masked ensuring a previously masked but still active
interrupt gets remasked if unmasked at the hardware level. This
allows the driver to more efficiently unmask the wake capable
interrupts when quiescing without needing to enable the irqs
individually to clear the irqd_irq_masked state.

Reviewed-by: Linus Walleij <linusw@kernel.org>
Reviewed-by: Andy Shevchenko <andy@kernel.org>
Signed-off-by: Doug Berger <opendmb@gmail.com>
Co-developed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://patch.msgid.link/20260204164333.1146039-3-florian.fainelli@broadcom.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
drivers/gpio/gpio-brcmstb.c