[PATCH] gpio: max77620: Implement .get_direction() callback

Diogo Ivo posted 1 patch 1 week, 6 days ago
drivers/gpio/gpio-max77620.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
[PATCH] gpio: max77620: Implement .get_direction() callback
Posted by Diogo Ivo 1 week, 6 days ago
Add support for reporting the current GPIO line direction by implementing
the .get_direction() callback for the MAX77620 GPIO controller.

Signed-off-by: Diogo Ivo <diogo.ivo@tecnico.ulisboa.pt>
---
 drivers/gpio/gpio-max77620.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/drivers/gpio/gpio-max77620.c b/drivers/gpio/gpio-max77620.c
index 02eca400b307..e6c85411c695 100644
--- a/drivers/gpio/gpio-max77620.c
+++ b/drivers/gpio/gpio-max77620.c
@@ -132,6 +132,24 @@ static const struct irq_chip max77620_gpio_irqchip = {
 	GPIOCHIP_IRQ_RESOURCE_HELPERS,
 };
 
+static int max77620_gpio_get_dir(struct gpio_chip *gc, unsigned int offset)
+{
+	struct max77620_gpio *mgpio = gpiochip_get_data(gc);
+	unsigned int val;
+	int ret;
+
+	ret = regmap_read(mgpio->rmap, GPIO_REG_ADDR(offset), &val);
+	if (ret < 0) {
+		dev_err(mgpio->dev, "CNFG_GPIOx read failed: %d\n", ret);
+		return ret;
+	}
+
+	if (val & MAX77620_CNFG_GPIO_DIR_MASK)
+		return GPIO_LINE_DIRECTION_IN;
+	else
+		return GPIO_LINE_DIRECTION_OUT;
+}
+
 static int max77620_gpio_dir_input(struct gpio_chip *gc, unsigned int offset)
 {
 	struct max77620_gpio *mgpio = gpiochip_get_data(gc);
@@ -308,6 +326,7 @@ static int max77620_gpio_probe(struct platform_device *pdev)
 
 	mgpio->gpio_chip.label = pdev->name;
 	mgpio->gpio_chip.parent = pdev->dev.parent;
+	mgpio->gpio_chip.get_direction = max77620_gpio_get_dir;
 	mgpio->gpio_chip.direction_input = max77620_gpio_dir_input;
 	mgpio->gpio_chip.get = max77620_gpio_get;
 	mgpio->gpio_chip.direction_output = max77620_gpio_dir_output;

---
base-commit: de1901b57167aa8fa28cfe99d4c9cb181bad47d3
change-id: 20260127-smaug-spi_flash-4d3bd65cc74d

Best regards,
-- 
Diogo Ivo <diogo.ivo@tecnico.ulisboa.pt>
Re: [PATCH] gpio: max77620: Implement .get_direction() callback
Posted by Bartosz Golaszewski 1 week, 5 days ago
On Tue, 27 Jan 2026 18:52:42 +0000, Diogo Ivo wrote:
> Add support for reporting the current GPIO line direction by implementing
> the .get_direction() callback for the MAX77620 GPIO controller.
> 
> 

Applied, thanks!

[1/1] gpio: max77620: Implement .get_direction() callback
      https://git.kernel.org/brgl/c/4c4ff6e38768f2431ed153f110f2d1fcce848af8

Best regards,
-- 
Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Re: [PATCH] gpio: max77620: Implement .get_direction() callback
Posted by Linus Walleij 1 week, 5 days ago
On Tue, Jan 27, 2026 at 7:53 PM Diogo Ivo <diogo.ivo@tecnico.ulisboa.pt> wrote:

> Add support for reporting the current GPIO line direction by implementing
> the .get_direction() callback for the MAX77620 GPIO controller.
>
> Signed-off-by: Diogo Ivo <diogo.ivo@tecnico.ulisboa.pt>

Looks good:
Reviewed-by: Linus Walleij <linusw@kernel.org>

Yours,
Linus Walleij