On Thu, Jul 12, 2018 at 11:15:01AM +0200, Geert Uytterhoeven wrote: > Allow gpiolib to read back the current I/O direction configuration by > implementing the .get_direction() callback. > > Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> > --- > drivers/gpio/gpio-rcar.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/drivers/gpio/gpio-rcar.c b/drivers/gpio/gpio-rcar.c > index 4d2cc6d32184f390..ec04752b6bd25fb6 100644 > --- a/drivers/gpio/gpio-rcar.c > +++ b/drivers/gpio/gpio-rcar.c > @@ -278,6 +278,13 @@ static void gpio_rcar_free(struct gpio_chip *chip, unsigned offset) > pm_runtime_put(&p->pdev->dev); > } > > +static int gpio_rcar_get_direction(struct gpio_chip *chip, unsigned int offset) > +{ > + struct gpio_rcar_priv *p = gpiochip_get_data(chip); > + > + return !(gpio_rcar_read(p, INOUTSEL) & BIT(offset)); > +} > + > static int gpio_rcar_direction_input(struct gpio_chip *chip, unsigned offset) > { > gpio_rcar_config_general_input_output_mode(chip, offset, false); > @@ -461,6 +468,7 @@ static int gpio_rcar_probe(struct platform_device *pdev) > gpio_chip = &p->gpio_chip; > gpio_chip->request = gpio_rcar_request; > gpio_chip->free = gpio_rcar_free; > + gpio_chip->get_direction = gpio_rcar_get_direction; > gpio_chip->direction_input = gpio_rcar_direction_input; > gpio_chip->get = gpio_rcar_get; > gpio_chip->direction_output = gpio_rcar_direction_output; > -- > 2.17.1 > -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html