diff options
author | Jonas Aaberg <jonas.aberg@stericsson.com> | 2011-03-03 11:26:01 +0100 |
---|---|---|
committer | Jonas ABERG <jonas.aberg@stericsson.com> | 2011-03-03 13:30:49 +0100 |
commit | 6332ddd6c91f21830296d5c0ec49d3fe73d60fc1 (patch) | |
tree | d8184adbf6293a8b10cd3974ffb8dc3851be7ffb /drivers/rtc | |
parent | 6c49ec1858b254b4c2eda385dae95ba76a977ee3 (diff) |
[ANDROID]: 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 | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/rtc/rtc-ab8500.c b/drivers/rtc/rtc-ab8500.c index 12f4ad402d7..89e282292d3 100644 --- a/drivers/rtc/rtc-ab8500.c +++ b/drivers/rtc/rtc-ab8500.c @@ -241,9 +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; |