On Sat, Mar 14, 2026 at 4:10 PM Michal Piekos
[off-list ref] wrote:
Fixes kernel hang during boot due to inability to set up IRQ on AXP313a.
The issue is caused by gpiochip_lock_as_irq() which is failing when gpio
is in unitialized state.
Solution is to set pinmux to GPIO INPUT in
sunxi_pinctrl_irq_request_resources() if it wasn't initialized
earlier.
Tested on Orange Pi Zero 3.
Signed-off-by: Michal Piekos <redacted>
Suggested-by: Chen-Yu Tsai <wens@kernel.org>
Interesting solution, not at all what I had in mind. :D
This fixes things immediately for sunxi, and keeps proper pin lockout,
i.e. one can't use a pin muxed for other uses as a GPIO interrupt pin.
I was hoping that the maintainers could provide some guidance as to
whether the core could provide helpers for this, but for now:
Reviewed-by: Chen-Yu Tsai <wens@kernel.org>