[PATCH] pcf506xx-ignore-wday-in-alarm.patch
Werner Almesberger
werner at openmoko.org
Thu Dec 4 04:39:17 CET 2008
The use of tm_wday when setting an alarm time seems somewhat unclear.
The PCF506xx hardware supports a day-of-week match, but hardly anybody
provides a correct value for tm_wday. In its RTC_ALM_SET branch,
drivers/rtc/rtc-dev.c (rtc_dev_ioctl) sets it to -1 to indicate that
it's unused.
The most prudent approach seems to follow the example of mktime(3) and
just ignore all the non-essential fields. The other RTC drivers seem
to handle tm_mday in the same way.
We already ignore tm_yday and tm_isdst. This patch also makes us ignore
tm_wday. Tested on PCF50633, untested for PCF50606.
Signed-off-by: Werner Almesberger <werner at openmoko.org>
---
Index: ktrack/drivers/rtc/rtc-pcf50633.c
===================================================================
--- ktrack.orig/drivers/rtc/rtc-pcf50633.c 2008-12-04 01:15:12.000000000 -0200
+++ ktrack/drivers/rtc/rtc-pcf50633.c 2008-12-04 01:17:49.000000000 -0200
@@ -207,6 +207,9 @@
rtc2pcf_time(&pcf_tm, &alrm->time);
+ /* do like mktime does and ignore tm_wday */
+ pcf_tm.time[PCF50633_TI_WKDAY] = 7;
+
alarm_masked = pcf50633_irq_mask_get(pcf, PCF50633_IRQ_ALARM);
/* disable alarm interrupt */
Index: ktrack/drivers/rtc/rtc-pcf50606.c
===================================================================
--- ktrack.orig/drivers/rtc/rtc-pcf50606.c 2008-12-04 01:26:20.000000000 -0200
+++ ktrack/drivers/rtc/rtc-pcf50606.c 2008-12-04 01:28:32.000000000 -0200
@@ -207,6 +207,9 @@
rtc2pcf_time(&pcf_tm, &alrm->time);
+ /* do like mktime does and ignore tm_wday */
+ pcf_tm.time[PCF50606_TI_WKDAY] = 7;
+
alarm_masked = pcf50606_irq_mask_get(pcf, PCF50606_IRQ_ALARM);
/* disable alarm interrupt */
More information about the openmoko-kernel
mailing list