gpio: mxc: read output value from GPIO_DR register
authorVladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Wed, 29 Apr 2015 15:35:01 +0000 (18:35 +0300)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 11 May 2015 09:53:05 +0000 (11:53 +0200)
All supported iMX GPIO controllers store configured GPIO output value
in GPIO_DR data register, which is represented by GPIO generic reg_set.
Provide a BGPIOF_READ_OUTPUT_REG_SET flag to bgpio_init() to allow
correct getting of previously set output value.

Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-mxc.c

index 9f7446a7ac64f0ee11a4fd675d87773d3b21f8e5..38daa640e1b57b9b9ce034ca092f685166d45b92 100644 (file)
@@ -450,7 +450,8 @@ static int mxc_gpio_probe(struct platform_device *pdev)
        err = bgpio_init(&port->bgc, &pdev->dev, 4,
                         port->base + GPIO_PSR,
                         port->base + GPIO_DR, NULL,
-                        port->base + GPIO_GDIR, NULL, 0);
+                        port->base + GPIO_GDIR, NULL,
+                        BGPIOF_READ_OUTPUT_REG_SET);
        if (err)
                goto out_bgio;