]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
gpio: bcm-kona: Make sure GPIO bits are unlocked when requesting IRQ
authorArtur Weber <aweber.kernel@gmail.com>
Thu, 6 Feb 2025 17:46:01 +0000 (18:46 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Feb 2025 13:01:20 +0000 (14:01 +0100)
commit30785bbbd5feb7ae308023bc07bc39d96ef66877
treecb3e95429bbbb712a1c96bff0ab8871088d356f3
parentc7bee225dda48a48943473a1e5e3a73f968a0b0e
gpio: bcm-kona: Make sure GPIO bits are unlocked when requesting IRQ

[ Upstream commit 57f5db77a915cc29461a679a6bcae7097967be1a ]

The settings for all GPIOs are locked by default in bcm_kona_gpio_reset.
The settings for a GPIO are unlocked when requesting it as a GPIO, but
not when requesting it as an interrupt, causing the IRQ settings to not
get applied.

Fix this by making sure to unlock the right bits when an IRQ is requested.
To avoid a situation where an IRQ being released causes a lock despite
the same GPIO being used by a GPIO request or vice versa, add an unlock
counter and only lock if it reaches 0.

Fixes: 757651e3d60e ("gpio: bcm281xx: Add GPIO driver")
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Reviewed-by: Markus Mayer <mmayer@broadcom.com>
Signed-off-by: Artur Weber <aweber.kernel@gmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20250206-kona-gpio-fixes-v2-2-409135eab780@gmail.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpio/gpio-bcm-kona.c