rtc: ds3232: fix read on /dev/rtc after RTC_AIE_ON
authorAkinobu Mita <akinobu.mita@gmail.com>
Sun, 6 Mar 2016 15:27:49 +0000 (00:27 +0900)
committerAlexandre Belloni <alexandre.belloni@free-electrons.com>
Mon, 14 Mar 2016 16:08:36 +0000 (17:08 +0100)
commitdfc2532b55a4989930d0d67cdf83da9ccb2a1b5b
treeddc9ef52096c2089f12a3a58451e0f8621a1d38d
parent080481f54ef621211d6c75a03dc652fb6ed04222
rtc: ds3232: fix read on /dev/rtc after RTC_AIE_ON

The rtctest (tools/testing/selftests/timers/rtctest.c) found that
reading ds3232 rtc device immediately return the value 0x20 (RTC_AF)
without waiting alarm interrupt.

This is because alarm_irq_enable() of ds3232 driver changes RTC_AF
flag in rtc->irq_data.  So calling ioctl with RTC_AIE_ON generates
invalid value in rtc device.

The lower-level driver should not touch rtc->irq_data directly.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
drivers/rtc/rtc-ds3232.c