[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230816154442.8417-1-asmaa@nvidia.com>
Date: Wed, 16 Aug 2023 11:44:40 -0400
From: Asmaa Mnebhi <asmaa@...dia.com>
To: <andy.shevchenko@...il.com>, <linux-gpio@...r.kernel.org>,
<linus.walleij@...aro.org>, <bgolaszewski@...libre.com>,
<brgl@...ev.pl>, <linux-kernel@...r.kernel.org>
CC: Asmaa Mnebhi <asmaa@...dia.com>
Subject: [PATCH v2 0/2] Fix Nvidia BlueField-3 GPIO access
Fix Nvidia BlueField-3 GPIO access via libgpiod gpioset tool.
gpioset tool fails to modify the GPIO value due to the following:
1) the pinctrl-mlxbf3 driver defines mlxbf3_gpio_request_enable()
to enable software to take control over a gpio. Only then can
the gpio-mlxbf3 driver modify the direction and value of the
gpio. mlxbf3_gpio_disable_free() gives control back to hardware
and is called when the "gpioset" command is invoked.
This cancels out the effort to change the GPIO value and
direction. So mlxbf3_gpio_disable_free() needs to be removed.
2) the gpio-mlxbf3 driver calls gpiochip_generic_request() which
calls mlxbf3_gpio_request_enable(). "pin_ranges" needs not to be
empty for mlxbf3_gpio_request_enable() to be invoked. So
gpio-mlxbf3 needs to populate "pin_ranges".
Asmaa Mnebhi (2):
pinctrl: mlxbf3: Remove gpio_disable_free()
gpio: mlxbf3: Support add_pin_ranges()
drivers/gpio/gpio-mlxbf3.c | 15 +++++++++++++++
drivers/pinctrl/pinctrl-mlxbf3.c | 14 --------------
2 files changed, 15 insertions(+), 14 deletions(-)
--
2.30.1
Powered by blists - more mailing lists