diff options
Diffstat (limited to 'drivers/rtc/rtc-omap.c')
-rw-r--r-- | drivers/rtc/rtc-omap.c | 28 |
1 files changed, 0 insertions, 28 deletions
diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c index e6c7b0149f27..60a8a4bb8bd2 100644 --- a/drivers/rtc/rtc-omap.c +++ b/drivers/rtc/rtc-omap.c | |||
@@ -289,34 +289,6 @@ static int omap_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alm) | |||
289 | { | 289 | { |
290 | u8 reg; | 290 | u8 reg; |
291 | 291 | ||
292 | /* Much userspace code uses RTC_ALM_SET, thus "don't care" for | ||
293 | * day/month/year specifies alarms up to 24 hours in the future. | ||
294 | * So we need to handle that ... but let's ignore the "don't care" | ||
295 | * values for hours/minutes/seconds. | ||
296 | */ | ||
297 | if (alm->time.tm_mday <= 0 | ||
298 | && alm->time.tm_mon < 0 | ||
299 | && alm->time.tm_year < 0) { | ||
300 | struct rtc_time tm; | ||
301 | unsigned long now, then; | ||
302 | |||
303 | omap_rtc_read_time(dev, &tm); | ||
304 | rtc_tm_to_time(&tm, &now); | ||
305 | |||
306 | alm->time.tm_mday = tm.tm_mday; | ||
307 | alm->time.tm_mon = tm.tm_mon; | ||
308 | alm->time.tm_year = tm.tm_year; | ||
309 | rtc_tm_to_time(&alm->time, &then); | ||
310 | |||
311 | /* sometimes the alarm wraps into tomorrow */ | ||
312 | if (then < now) { | ||
313 | rtc_time_to_tm(now + 24 * 60 * 60, &tm); | ||
314 | alm->time.tm_mday = tm.tm_mday; | ||
315 | alm->time.tm_mon = tm.tm_mon; | ||
316 | alm->time.tm_year = tm.tm_year; | ||
317 | } | ||
318 | } | ||
319 | |||
320 | if (tm2bcd(&alm->time) < 0) | 292 | if (tm2bcd(&alm->time) < 0) |
321 | return -EINVAL; | 293 | return -EINVAL; |
322 | 294 | ||