diff options
author | Jonas Aaberg <jonas.aberg@stericsson.com> | 2011-03-03 11:26:01 +0100 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@stericsson.com> | 2011-09-19 15:56:13 +0200 |
commit | ddcdbc8afb049771c96ea2d6316ff6d8cc75ab04 (patch) | |
tree | 8cb4ab8d9131b35bac6ab06737803be72c04caff /drivers/rtc | |
parent | abd52985b45ed2f7cfdc0842dcf667c633a23eee (diff) |
RTC: rtc-ab8500: Round alarm time upwards
Due to strange android design and the ab8500 hw
has a wake up alarm resolution in minutes, we have to
add one minute to make sure that we always wake up.
ST-Ericsson Linux next: Not tested, ask SSM for ER
ST-Ericsson ID: ER324148
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: I6a424984cc41757e4d3ba98e8ea48975a85213eb
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/17496
Reviewed-by: QATOOLS
Reviewed-by: Rickard ANDERSSON <rickard.andersson@stericsson.com>
Diffstat (limited to 'drivers/rtc')
-rw-r--r-- | drivers/rtc/rtc-ab8500.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/rtc/rtc-ab8500.c b/drivers/rtc/rtc-ab8500.c index d6bfc4f3658..89e282292d3 100644 --- a/drivers/rtc/rtc-ab8500.c +++ b/drivers/rtc/rtc-ab8500.c @@ -241,8 +241,19 @@ static int ab8500_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alarm) */ secs -= get_elapsed_seconds(AB8500_RTC_EPOCH); +#ifndef CONFIG_ANDROID + secs += 30; /* Round to nearest minute */ +#endif + mins = secs / 60; +#ifdef CONFIG_ANDROID + /* + * Needed due to Android believes all hw have a wake-up resolution + * in seconds. + */ + mins++; +#endif buf[2] = mins & 0xFF; buf[1] = (mins >> 8) & 0xFF; buf[0] = (mins >> 16) & 0xFF; |