On Tue, Dec 7, 2021 at 11:14 PM Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote: > On Monday, December 6, 2021, Hans Verkuil <hverkuil-cisco@xxxxxxxxx> wrote: >> >> Hi all, >> >> Based on this discussion: >> >> https://lore.kernel.org/linux-gpio/CACRpkdb3q4-9O3dHS6QDWnZZ5JJjXWXS9KPvwXVaowLMRhcejA@xxxxxxxxxxxxxx/T/#t >> >> I propose this RFC series. > > > When I first saw your report I was thinking about actually adding a new callback ->set_direction_atomic() > and then make pinctrl use it, otherwise like you do, I.e. issue a warning when it’s called in atomic context The problem is inside of pinctrl core, not in any driver. It takes a mutex when going over the GPIO ranges. I suggested maybe just replacing these mutexes with spinlocks, or RCU. Yours, Linus Walleij