rtc: Expire alarms after the time is set. (v2)
authorNeilBrown <neilb@suse.de>
Thu, 8 Dec 2011 22:39:15 +0000 (09:39 +1100)
committerJohn Stultz <john.stultz@linaro.org>
Fri, 27 Jan 2012 03:41:36 +0000 (19:41 -0800)
commit5f9679d29c7959445d4af1eb85ee55e4ebad4a93
tree19ba795822c8f1cb3d2c3e8af1dd827600ac1e86
parentbd729d72b428261f2975360e0c117d7d7a2cd6e8
rtc: Expire alarms after the time is set. (v2)

If the alarm time programming in the rtc is ever in the past, it won't fire,
and any other alarm will be queued after it so they won't fire either.

So any time that the alarm might be in the past, we need to trigger
the irq handler to ensure the old alarm is cleared and the timer queue
is fully in the future.

This is done whenever the RTC clock is set.

This is the second revision of this patch, which was earlier reverted.
This version avoids the initialization problem, which is handled by
a different patch.

Tested-by: Sander Eikelenboom <linux@eikelenboom.it>
Signed-off-by: NeilBrown <neilb@suse.de>
[Remove problematic initialization change, update commit log, also
catch set_mmss case -jstultz]
Signed-off-by: John Stultz <john.stultz@linaro.org>
drivers/rtc/interface.c