to set an GPIO pin to input, the corresponding bit in GPDR needs to be cleared instead of set. fixed with this patch. Signed-off-by: Luotao Fu <l.fu@xxxxxxxxxxxxxx> --- drivers/gpio/stmpe-gpio.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/gpio/stmpe-gpio.c b/drivers/gpio/stmpe-gpio.c index a4de271..4e1f1b9 100644 --- a/drivers/gpio/stmpe-gpio.c +++ b/drivers/gpio/stmpe-gpio.c @@ -88,7 +88,7 @@ static int stmpe_gpio_direction_input(struct gpio_chip *chip, u8 reg = stmpe->regs[STMPE_IDX_GPDR_LSB] - (offset / 8); u8 mask = 1 << (offset % 8); - return stmpe_set_bits(stmpe, reg, mask, mask); + return stmpe_set_bits(stmpe, reg, mask, 0); } static int stmpe_gpio_to_irq(struct gpio_chip *chip, unsigned offset) -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html