Re: [PATCH] rtc-twl4030: Fix periodic interrupt

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

 



* Pakaravoor, Jagadeesh <j-pakaravoor@xxxxxx> [080905 02:34]:
> From: Jagadeesh Bhaskar Pakaravoor <j-pakaravoor@xxxxxx>
> 
> RTC generates an extra spurious interrupt for every actual periodic
> interrupt. This is due to a problem with the RTC_IT bit of
> REG_PWR_ISR1. It requires two writes or two reads (when COR is 
> enabled) to clear it. Since COR is enabled and one read of the same
> register is done already (inside twl4030-pwrirq.c do_twl4030_pwrirq()
> function), we can do away with a need to add one more write into the 
> same register inside the interrupt handler, by replacing the write
> currently present with just one extra read.

Pushing today.

Tony

> 
> Signed-off-by: Jagadeesh Bhaskar Pakaravoor <j-pakaravoor@xxxxxx>
> ---
> David Brownell reported this issue earlier. This patch fixes it.
> Index: linux-omap-2.6/drivers/rtc/rtc-twl4030.c
> ===================================================================
> --- linux-omap-2.6.orig/drivers/rtc/rtc-twl4030.c	2008-09-05 12:22:23.089855991 +0530
> +++ linux-omap-2.6/drivers/rtc/rtc-twl4030.c	2008-09-05 12:49:55.634939761 +0530
> @@ -446,8 +446,13 @@ static irqreturn_t twl4030_rtc_interrupt
>  				   REG_RTC_STATUS_REG);
>  	if (res)
>  		goto out;
> -	res = twl4030_i2c_write_u8(TWL4030_MODULE_INT,
> -			PWR_RTC_INT_CLR, REG_PWR_ISR1);
> +
> +	/* Clear on Read enabled. RTC_IT bit of REG_PWR_ISR1 needs
> +	 * 2 reads to clear the interrupt. One read is done in
> +	 * do_twl4030_pwrirq(). Doing the second read, to clear
> +	 * the bit.
> +	 */
> +	res = twl4030_i2c_read_u8(TWL4030_MODULE_INT, &rd_reg, REG_PWR_ISR1);
>  	if (res)
>  		goto out;
> 
> 
> --
> With Regards,
> Jagadeesh Bhaskar P
>  
> ----------------------------
> Some men see things as they are and say why - I dream things that never were and say why not.
> - George Bernard Shaw
> -------------------
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux