The logic for setting pin direction was inverted

Signed-off-by: Tim Harvey <thar...@gateworks.com>
---
 .../cns3xxx/files/arch/arm/mach-cns3xxx/gpio.c     |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/target/linux/cns3xxx/files/arch/arm/mach-cns3xxx/gpio.c 
b/target/linux/cns3xxx/files/arch/arm/mach-cns3xxx/gpio.c
index 8fccbbf..4f5d500 100644
--- a/target/linux/cns3xxx/files/arch/arm/mach-cns3xxx/gpio.c
+++ b/target/linux/cns3xxx/files/arch/arm/mach-cns3xxx/gpio.c
@@ -59,9 +59,9 @@ __set_direction(struct cns3xxx_gpio_chip *cchip, unsigned 
pin, int input)
 
        reg = __raw_readl(cchip->base + GPIO_DIR);
        if (input)
-               reg |= 1 << pin;
+               reg &= ~(1 << pin);
        else
-               reg &= !(1 << pin);
+               reg |= (1 << pin);
        __raw_writel(reg, cchip->base + GPIO_DIR);
 }
 
-- 
1.7.5.4

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to