From: Klaus Pedersen Date: Fri, 18 Jan 2008 17:29:00 +0000 (+0200) Subject: T2 RTC IRQ handler should only clear it's own IRQ X-Git-Tag: v2.6.24-omap1~53 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=a31617f74247172e74c57c86d32bdc72fa85820c;p=linux-2.6-omap-h63xx.git T2 RTC IRQ handler should only clear it's own IRQ Shared interrupts shouldn't clear all pending interrupt. Signed-off-by: Klaus Pedersen Signed-off-by: Tony Lindgren --- diff --git a/drivers/rtc/rtc-twl4030.c b/drivers/rtc/rtc-twl4030.c index 0b3f6a4992b..4e8bc5b912e 100644 --- a/drivers/rtc/rtc-twl4030.c +++ b/drivers/rtc/rtc-twl4030.c @@ -409,8 +409,7 @@ static irqreturn_t twl4030_rtc_interrupt(int irq, void *rtc) if (!(rd_reg & PWR_RTC_INT_CLR)) goto out; - rd_reg |= PWR_RTC_INT_CLR; - res = twl4030_i2c_write_u8(TWL4030_MODULE_INT, rd_reg, REG_PWR_ISR1); + res = twl4030_i2c_write_u8(TWL4030_MODULE_INT, PWR_RTC_INT_CLR, REG_PWR_ISR1); if (res) goto out; @@ -438,12 +437,7 @@ static irqreturn_t twl4030_rtc_interrupt(int irq, void *rtc) * RTC event generates 2 interrupts in a row. * (no errata document available) */ - res = twl4030_i2c_read_u8(TWL4030_MODULE_INT, &rd_reg, REG_PWR_ISR1); - if (res) - goto out; - - rd_reg |= PWR_RTC_INT_CLR; - res = twl4030_i2c_write_u8(TWL4030_MODULE_INT, rd_reg, REG_PWR_ISR1); + res = twl4030_i2c_write_u8(TWL4030_MODULE_INT, PWR_RTC_INT_CLR, REG_PWR_ISR1); if (res) goto out;