OSDN Git Service

gpio: twl6040: Implement .get_direction()
authorLinus Walleij <linus.walleij@linaro.org>
Mon, 3 Sep 2018 08:04:01 +0000 (10:04 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 10 Sep 2018 06:49:22 +0000 (08:49 +0200)
The gpiolib cannot deduce the fact that every line is output
by itself, implement a .get_direction() callback so we can
inspect this.

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-twl6040.c

index 77d5054..c845b2f 100644 (file)
@@ -32,6 +32,12 @@ static int twl6040gpo_get(struct gpio_chip *chip, unsigned offset)
        return !!(ret & BIT(offset));
 }
 
+static int twl6040gpo_get_direction(struct gpio_chip *chip, unsigned offset)
+{
+       /* This means "out" */
+       return 0;
+}
+
 static int twl6040gpo_direction_out(struct gpio_chip *chip, unsigned offset,
                                    int value)
 {
@@ -62,6 +68,7 @@ static struct gpio_chip twl6040gpo_chip = {
        .owner                  = THIS_MODULE,
        .get                    = twl6040gpo_get,
        .direction_output       = twl6040gpo_direction_out,
+       .get_direction          = twl6040gpo_get_direction,
        .set                    = twl6040gpo_set,
        .can_sleep              = true,
 };