Re: [RESEND v2 04/10] gpio: stmpe: write int status register only when needed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux