Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9298539c authored by Linus Walleij's avatar Linus Walleij
Browse files

gpio: htc-egpio: add .get_direction() support



This makes is possible to read out the current direction of a
GPIO line on the HTC CPLD GPIO expander.

Suggested-by: default avatarRussell King <linux@arm.linux.org.uk>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent c82064f2
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -225,6 +225,15 @@ static int egpio_direction_output(struct gpio_chip *chip,
	}
}

static int egpio_get_direction(struct gpio_chip *chip, unsigned offset)
{
	struct egpio_chip *egpio;

	egpio = gpiochip_get_data(chip);

	return !test_bit(offset, &egpio->is_out);
}

static void egpio_write_cache(struct egpio_info *ei)
{
	int               i;
@@ -327,6 +336,7 @@ static int __init egpio_probe(struct platform_device *pdev)
		chip->set             = egpio_set;
		chip->direction_input = egpio_direction_input;
		chip->direction_output = egpio_direction_output;
		chip->get_direction   = egpio_get_direction;
		chip->base            = pdata->chip[i].gpio_base;
		chip->ngpio           = pdata->chip[i].num_gpios;