pinctrl/lantiq: the pinconf OD parameter argument was ignored
authorJohn Crispin <blogic@openwrt.org>
Fri, 1 Feb 2013 12:04:59 +0000 (13:04 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 5 Feb 2013 15:17:23 +0000 (16:17 +0100)
When setting the OpenDrain bit we should really honour the
argument passed inside the devicetree.

Signed-off-by: John Crispin <blogic@openwrt.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-xway.c

index b23b895..53cb6a3 100644 (file)
@@ -494,7 +494,10 @@ static int xway_pinconf_set(struct pinctrl_dev *pctldev,
                        reg = GPIO3_OD;
                else
                        reg = GPIO_OD(pin);
-               gpio_setbit(info->membase[0], reg, PORT_PIN(pin));
+               if (arg == 0)
+                       gpio_setbit(info->membase[0], reg, PORT_PIN(pin));
+               else
+                       gpio_clearbit(info->membase[0], reg, PORT_PIN(pin));
                break;
 
        case LTQ_PINCONF_PARAM_PULL: