Thread (10 messages) 10 messages, 4 authors, 2026-03-19

Re: [PATCH v3] pinctrl: sunxi: fix gpiochip_lock_as_irq() failure when pinmux is unknown

From: Chen-Yu Tsai <wens@kernel.org>
Date: 2026-03-14 08:23:26
Also in: linux-gpio, linux-sunxi, lkml

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>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help