linux/drivers
David Brownell 3925a5ce44 [PATCH] RTC gets sysfs wakealarm attribute
This adds a new "wakealarm" sysfs attribute to RTC class devices which support
alarm operations and are wakeup-capable:

 - It reads as either empty, or the scheduled alarm time as seconds
   since the POSIX epoch.  (That time may already have passed, since
   nothing currently enforces one-shot alarm semantics.)

 - It can be written with an alarm time in the future, again seconds
   since the POSIX epoch, which enables the alarm.

 - It can be written with an alarm time not in the future (such as 0,
   the start of the POSIX epoch) to disable the alarm.

Usage examples (some need GNU date) after "cd /sys/class/rtc/rtcN":

    alarm after 10 minutes:
	# echo $(( $(cat since_epoch) + 10 * 60 )) > wakealarm
    alarm tuesday evening 10pm:
	# date -d '10pm tuesday' "+%s" > wakealarm
    disable alarm:
    	# echo 0 > wakealarm

This resembles the /proc/acpi/alarm file in that nothing happens when the
alarm triggers ...  except possibly waking the system from sleep.  It's also
like that in a nasty way: not much can be done to prevent one task from
clobbering another task's alarm settings.

It differs from that file in that there's no in-kernel date parser.

Note that a few RTCs ignore rtc_wkalrm.enabled when setting alarms, or aren't
set up correctly, so they won't yet behave with this attribute.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Pavel Machek <pavel@ucw.cz>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-12 09:48:31 -08:00
..
acorn [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
acpi [PATCH] wrong order of kzalloc arguments 2007-02-09 08:28:48 -08:00
amba [ARM] Fix __must_check warnings in drivers/bus/amba.c 2006-11-30 14:04:49 +00:00
ata libata: kill ATA_ENABLE_PATA 2007-02-09 17:39:40 -05:00
atm [PATCH] Get rid of "double zeroing" of allocated pages 2007-02-11 10:51:31 -08:00
auxdisplay [PATCH] drivers: add LCD support 2007-02-11 10:51:24 -08:00
base [PATCH] Drop __get_zone_counts() 2007-02-11 10:51:18 -08:00
block Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-02-11 11:44:25 -08:00
bluetooth [Bluetooth] Correct SCO buffer for Broadcom based Dell laptops 2007-01-09 00:29:59 -08:00
cdrom [PATCH] cdrom: set default timeout to 7 seconds 2007-01-03 17:32:54 -08:00
char [PATCH] DS1302: local_irq_disable() is redundant after local_irq_save() 2007-02-12 09:48:30 -08:00
clocksource [PATCH] clocksource: small cleanup 2006-12-10 09:57:22 -08:00
connector [PATCH] connector: some fixes for ia64 unaligned access errors 2007-01-05 23:55:29 -08:00
cpufreq [CPUFREQ] check sysfs_create_link return value 2007-01-29 00:06:27 -05:00
crypto Merge branch 'HEAD' of master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6 2007-02-08 15:25:18 -08:00
dio
dma [PATCH] slab: remove SLAB_KERNEL 2006-12-07 08:39:24 -08:00
edac [PATCH] Add include/linux/freezer.h and move definitions from sched.h 2006-12-07 08:39:27 -08:00
eisa
fc4 [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
firmware [PATCH] docbook: add edd firmware interfaces 2007-02-11 10:51:32 -08:00
hid HID: move away from DEBUG defines in favor of CONFIG_HID_DEBUG 2007-02-05 10:00:45 +01:00
hwmon [PATCH] hwmon: ansify 2007-02-09 09:14:06 -08:00
i2c USB: <linux/usb_ch9.h> becomes <linux/usb/ch9.h> 2007-02-07 15:44:32 -08:00
ide [PATCH] proc: remove useless (and buggy) ->nlink settings 2007-02-11 10:51:32 -08:00
ieee1394 ieee1394: fix host device registering when nodemgr disabled 2007-02-08 21:36:22 +01:00
infiniband [PATCH] Transform kmem_cache_alloc()+memset(0) -> kmem_cache_zalloc(). 2007-02-11 10:51:27 -08:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2007-02-11 11:50:24 -08:00
isdn [PATCH] drivers/isdn/gigaset: new M101 driver (v2) 2007-02-12 09:48:30 -08:00
kvm [PATCH] misc NULL noise removal 2007-02-09 09:14:07 -08:00
leds [PATCH] Fix leds-s3c24xx hardware.h reference 2007-01-05 23:55:21 -08:00
macintosh [PATCH] proc: remove useless (and buggy) ->nlink settings 2007-02-11 10:51:32 -08:00
mca
md [PATCH] remove invalidate_inode_pages() 2007-02-11 10:51:31 -08:00
media [PATCH] Get rid of "double zeroing" of allocated pages 2007-02-11 10:51:31 -08:00
message [SCSI] fusion - bump version - 3.04.04 2007-02-02 21:12:02 -06:00
mfd [PATCH] Add include/linux/freezer.h and move definitions from sched.h 2006-12-07 08:39:27 -08:00
misc [PATCH] proc: remove useless (and buggy) ->nlink settings 2007-02-11 10:51:32 -08:00
mmc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc 2007-02-11 11:39:00 -08:00
mtd [PATCH] remove invalidate_inode_pages() 2007-02-11 10:51:31 -08:00
net [PATCH] com20020 build fix 2007-02-12 09:48:29 -08:00
nubus
oprofile [PATCH] struct path: convert oprofile 2006-12-08 08:28:48 -08:00
parisc [PATCH] proc: remove useless (and buggy) ->nlink settings 2007-02-11 10:51:32 -08:00
parport [PATCH] Kconfig refactoring for better menu nesting 2006-12-10 09:55:39 -08:00
pci [SPARC64]: Add PCI MSI support on Niagara. 2007-02-10 23:50:37 -08:00
pcmcia [PATCH] m32r: class_device -> device fallout 2007-02-09 08:28:48 -08:00
pnp [PATCH] Remove unnecessary memset(0) calls after kzalloc() calls. 2007-02-11 10:51:31 -08:00
ps3 [POWERPC] PS3: Move vuart declarations to ps3.h 2007-02-07 14:03:20 +11:00
rapidio [PATCH] rapidio: fix multi-switch enumeration 2007-02-11 11:18:07 -08:00
rtc [PATCH] RTC gets sysfs wakealarm attribute 2007-02-12 09:48:31 -08:00
s390 Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-02-11 11:44:25 -08:00
sbus [SPARC64]: Add obppath sysfs attribute for SBUS and PCI devices. 2007-02-10 23:50:35 -08:00
scsi Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-02-11 11:44:25 -08:00
serial [PATCH] atmel_serial: Use __raw I/O register access 2007-02-12 09:48:29 -08:00
sh
sn [PATCH] IOC3/IOC4: PCI mem space resources 2007-02-11 10:51:25 -08:00
spi [PATCH] SPI cleanup() method param becomes non-const 2007-02-12 09:48:31 -08:00
tc [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
telephony [PATCH] drivers/telephony/ixj: Convert to generic boolean 2007-02-12 09:48:30 -08:00
usb [PATCH] null pointer dereference in appledisplay driver 2007-02-12 09:48:27 -08:00
video [PATCH] Replace regular code with appropriate calls to container_of() 2007-02-11 11:18:06 -08:00
w1 [PATCH] w1: Use ARRAY_SIZE macro when appropriate 2007-02-12 09:48:28 -08:00
zorro [PATCH] struct path: convert zorro 2006-12-08 08:28:50 -08:00
Kconfig [PATCH] drivers: add LCD support 2007-02-11 10:51:24 -08:00
Makefile [PATCH] drivers: add LCD support 2007-02-11 10:51:24 -08:00