On Tuesday 08 April 2008, Zhao Yakui wrote: > Subject: ACPI: Add the support for alarm time relative to current time in sysfs > >From : Zhao Yakui <yakui.zhao@xxxxxxxxx> > > In current kernel if we want to set the alarm time, the absolute time > the seconds relative to 1970-01-01 00:00:00) should be written into > /sys/class/rtc/rtc0/wakealarm. It is not convenient. > > It is more reasonable to add the support for the alarm time > relative to current RTC time.(the unit is second) > For example: > If the RTC is required to generate alarm after 2 minutes, the following will > be OK. > echo +120 > /sys/class/rtc/rtc0/wakealarm > or echo +0x78 > /sys/class/rtc/rtc0/wakealarm > > > Signed-off-by: Zhao Yakui <yakui.zhao@xxxxxxxxx> > Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> Makes sense. Acked-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx> > > --- > drivers/rtc/rtc-sysfs.c | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > Index: linux-2.6/drivers/rtc/rtc-sysfs.c > =================================================================== > --- linux-2.6.orig/drivers/rtc/rtc-sysfs.c > +++ linux-2.6/drivers/rtc/rtc-sysfs.c > @@ -145,6 +145,8 @@ rtc_sysfs_set_wakealarm(struct device *d > unsigned long now, alarm; > struct rtc_wkalrm alm; > struct rtc_device *rtc = to_rtc_device(dev); > + char *buf_ptr; > + int adjust = 0; > > /* Only request alarms that trigger in the future. Disable them > * by writing another time, e.g. 0 meaning Jan 1 1970 UTC. > @@ -154,7 +156,15 @@ rtc_sysfs_set_wakealarm(struct device *d > return retval; > rtc_tm_to_time(&alm.time, &now); > > - alarm = simple_strtoul(buf, NULL, 0); > + buf_ptr = (char *)buf; > + if (*buf_ptr == '+') { > + buf_ptr++; > + adjust = 1; > + } > + alarm = simple_strtoul(buf_ptr, NULL, 0); > + if (adjust) { > + alarm += now; > + } > if (alarm > now) { > /* Avoid accidentally clobbering active alarms; we can't > * entirely prevent that here, without even the minimal > > -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html