The logic for setting pin direction was inverted
Signed-off-by: Tim Harvey <[email protected]>
---
.../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
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel