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

Commit 7d9e59ce authored by Bin Gao's avatar Bin Gao Committed by Linus Walleij
Browse files

gpio: wcove-gpio: add get_direction method



This patch adds .get_direction method for the gpio_chip structure
of the wcove_gpio driver.

Signed-off-by: default avatarBin Gao <bin.gao@intel.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 9c668632
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -164,6 +164,19 @@ static int wcove_gpio_dir_out(struct gpio_chip *chip, unsigned int gpio,
			    CTLO_OUTPUT_SET | value);
}

static int wcove_gpio_get_direction(struct gpio_chip *chip, unsigned int gpio)
{
	struct wcove_gpio *wg = gpiochip_get_data(chip);
	unsigned int val;
	int ret;

	ret = regmap_read(wg->regmap, to_reg(gpio, CTRL_OUT), &val);
	if (ret)
		return ret;

	return !(val & CTLO_DIR_OUT);
}

static int wcove_gpio_get(struct gpio_chip *chip, unsigned int gpio)
{
	struct wcove_gpio *wg = gpiochip_get_data(chip);
@@ -394,6 +407,7 @@ static int wcove_gpio_probe(struct platform_device *pdev)
	wg->chip.label = KBUILD_MODNAME;
	wg->chip.direction_input = wcove_gpio_dir_in;
	wg->chip.direction_output = wcove_gpio_dir_out;
	wg->chip.get_direction = wcove_gpio_get_direction;
	wg->chip.get = wcove_gpio_get;
	wg->chip.set = wcove_gpio_set;
	wg->chip.set_single_ended = wcove_gpio_set_single_ended,