OSDN Git Service

gpio: sch: Implement .get_direction()
authorLinus Walleij <linus.walleij@linaro.org>
Wed, 27 Jun 2018 08:39:31 +0000 (10:39 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 2 Jul 2018 14:00:49 +0000 (16:00 +0200)
It's pretty simple to implement the .get_direction() for this
chip, so let's just do it.

Cc: Denis Turischev <denis.turischev@compulab.co.il>
Cc: Daniel Krueger <daniel.krueger@systec-electronic.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-sch.c

index 26e9b1c..e9878f6 100644 (file)
@@ -137,6 +137,13 @@ static int sch_gpio_direction_out(struct gpio_chip *gc, unsigned gpio_num,
        return 0;
 }
 
+static int sch_gpio_get_direction(struct gpio_chip *gc, unsigned gpio_num)
+{
+       struct sch_gpio *sch = gpiochip_get_data(gc);
+
+       return sch_gpio_reg_get(sch, gpio_num, GIO);
+}
+
 static const struct gpio_chip sch_gpio_chip = {
        .label                  = "sch_gpio",
        .owner                  = THIS_MODULE,
@@ -144,6 +151,7 @@ static const struct gpio_chip sch_gpio_chip = {
        .get                    = sch_gpio_get,
        .direction_output       = sch_gpio_direction_out,
        .set                    = sch_gpio_set,
+       .get_direction          = sch_gpio_get_direction,
 };
 
 static int sch_gpio_probe(struct platform_device *pdev)