summaryrefslogtreecommitdiff
path: root/drivers/pinctrl/pinctrl-axp209.c
diff options
context:
space:
mode:
authorAsmaa Mnebhi <asmaa@nvidia.com>2023-08-18 19:43:13 +0300
committerLinus Walleij <linus.walleij@linaro.org>2023-08-25 16:44:15 +0300
commit69657e60b8a7faf83b583c658ec7ce1f5ece9eb3 (patch)
tree49f5a5f85ab0ecf8dea7edf2c3f7504065d53963 /drivers/pinctrl/pinctrl-axp209.c
parentc0f84760b01e8d8b59e9e186a4f7fa8f081a4488 (diff)
downloadlinux-69657e60b8a7faf83b583c658ec7ce1f5ece9eb3.tar.xz
pinctrl: mlxbf3: Remove gpio_disable_free()
Remove support for gpio_disable_free() because it is called when the libgpiod command "gpioset" is invoked. This gives the GPIO control back to hardware which cancels out the effort to set the GPIO value. Reminder of the code flow to change a GPIO value from software: 1) All GPIOs are controlled by hardware by default 2) To change the GPIO value, enable software control via a mux. 3) Once software has control over the GPIO pin, the gpio-mlxbf3 driver will be able to change the direction and value of the GPIO. When the user runs "gpioset gpiochip0 0=0" for example, the gpio pin value should change from 1 to 0. In this case, mlxbf3_gpio_request_enable() is called via gpiochip_generic_request(). The latter switches GPIO control from hardware to software. Then the GPIO value is changed from 1 to 0. However, gpio_disable_free() is also called which changes control back to hardware which changes the GPIO value back to 1. Fixes: d11f932808dc ("pinctrl: mlxbf3: Add pinctrl driver support") Signed-off-by: Asmaa Mnebhi <asmaa@nvidia.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20230818164314.8505-2-asmaa@nvidia.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/pinctrl-axp209.c')
0 files changed, 0 insertions, 0 deletions