On Wed, 10 Aug 2016, patrice.chotard@xxxxxx wrote: > From: Patrice Chotard <patrice.chotard@xxxxxx> > > On STMPE801/1801 datasheets, it's mentionned writing > in interrupt status register has no effect, bits are > cleared when reading. > > Signed-off-by: Amelie DELAUNAY <amelie.delaunay@xxxxxx> > Signed-off-by: Patrice Chotard <patrice.chotard@xxxxxx> > Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> > --- > drivers/gpio/gpio-stmpe.c | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-) Applied, thanks. > diff --git a/drivers/gpio/gpio-stmpe.c b/drivers/gpio/gpio-stmpe.c > index bfc918c..2789bdc 100644 > --- a/drivers/gpio/gpio-stmpe.c > +++ b/drivers/gpio/gpio-stmpe.c > @@ -355,12 +355,16 @@ static irqreturn_t stmpe_gpio_irq(int irq, void *dev) > stat &= ~(1 << bit); > } > > - stmpe_reg_write(stmpe, statmsbreg + i, status[i]); > - > - /* Edge detect register is not present on 801 and 1801 */ > - if (stmpe->partnum != STMPE801 || stmpe->partnum != STMPE1801) > + /* > + * interrupt status register write has no effect on > + * 801 and 1801, bits are cleared when read. > + * Edge detect register is not present on 801 and 1801 > + */ > + if (stmpe->partnum != STMPE801 || stmpe->partnum != STMPE1801) { > + stmpe_reg_write(stmpe, statmsbreg + i, status[i]); > stmpe_reg_write(stmpe, stmpe->regs[STMPE_IDX_GPEDR_MSB] > + i, status[i]); > + } > } > > return IRQ_HANDLED; -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html