]> www.infradead.org Git - users/hch/misc.git/commit
gpio: TODO: remove the pinctrl integration task
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Fri, 21 Mar 2025 15:49:35 +0000 (16:49 +0100)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 24 Mar 2025 09:35:10 +0000 (10:35 +0100)
commitc36420dc4f9e11d4e494a6182586008d7969c841
tree4230cc997b2d41e829375d36c88fa0665071f7ab
parent01cbfc45b48beafdab84524df14b0b4a863ea495
gpio: TODO: remove the pinctrl integration task

While there are surely some arguments in favor of integrating the GPIO
and pinctrl subsystems into one, I believe this is not the right
approach.

The GPIO subsystem uses intricate locking with SRCU to handle the fact
that both consumers and providers may run in different contexts.
Pin-controller drivers are always meant to run in process context. This
alone is a huge obstacle to any attempt at integration as evident by
many problems we already encountered during the hotplug rework.

The current glue code is pretty minimal and for most part already allows
GPIO controllers to query pinctrl about the information they need.

I suggest to drop this task and keep the subsystems separate even if
many pin-controllers implement GPIO functionality in addition to pin
functions.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20250321-gpio-todo-updates-v1-3-7b38f07110ee@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/TODO