]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
gpio: shared: propagate configuration to pinctrl
authorBartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Tue, 20 Jan 2026 15:49:13 +0000 (16:49 +0100)
committerBartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Wed, 21 Jan 2026 13:06:17 +0000 (14:06 +0100)
commit4918cc05137cb347686462923ab3fd249ef7899d
tree8934e39ef635255fd7c4347f0891a837bccf8472
parent8a8c942cad4cd12f739a8bb60cac77fd173c4e07
gpio: shared: propagate configuration to pinctrl

Just toggling the descriptor's "requested" flag is not enough. We need
to properly request it in order to potentially propagate any
configuration to pinctrl via the .request() callback.

We must not take the reference to the device at this point (the device
is not ready but we're also requesting the device's own descriptor) so
make the _commit() variants of request and free functions available to
GPIO core in order to use them instead of their regular counterparts.

This fixes an audio issue reported on one of the Qualcomm platforms.

Fixes: a060b8c511ab ("gpiolib: implement low-level, shared GPIO support")
Reviewed-by: Linus Walleij <linusw@kernel.org>
Tested-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260120154913.61991-1-bartosz.golaszewski@oss.qualcomm.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
drivers/gpio/gpiolib-shared.c
drivers/gpio/gpiolib.c
drivers/gpio/gpiolib.h