summaryrefslogtreecommitdiffstats
path: root/drivers/gpio/gpio-sch.c
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2018-06-27 10:39:31 +0200
committerLinus Walleij <linus.walleij@linaro.org>2018-07-02 16:00:49 +0200
commitd8e764c2cc451452f07e4f35a3e83df9decf7f99 (patch)
tree8eb2f5e399d1d0e91dfded1c802cfa6f11855f45 /drivers/gpio/gpio-sch.c
parentgpio: sch: Include the right header (diff)
downloadlinux-d8e764c2cc451452f07e4f35a3e83df9decf7f99.tar.xz
linux-d8e764c2cc451452f07e4f35a3e83df9decf7f99.zip
gpio: sch: Implement .get_direction()
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>
Diffstat (limited to 'drivers/gpio/gpio-sch.c')
-rw-r--r--drivers/gpio/gpio-sch.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpio/gpio-sch.c b/drivers/gpio/gpio-sch.c
index 26e9b1cd2c78..e9878f6ede67 100644
--- a/drivers/gpio/gpio-sch.c
+++ b/drivers/gpio/gpio-sch.c
@@ -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)