linux/drivers/rtc
Bernie Thompson 1df0a4711f rtc: add ability to push out an existing wakealarm using sysfs
This adds the ability for the rtc sysfs code to handle += characters at
the beginning of a wakealarm setting string.  This will allow the user
to attempt to push out an existing wakealarm by a provided amount.

In the case that the += characters are provided but the alarm is not
active -EINVAL is returned.

his is useful, at least for my purposes in suspend/resume testing.  The
basic test goes something like:

1. Set a wake alarm from userspace 5 seconds in the future

2. Start the suspend process (echo mem > /sys/power/state)

3. After ~2.5 seconds if userspace is still running (using another
   thread to check this), move the wake alarm 5 more seconds

If the "move" involves an unset of the wakealarm then there's a period
   of time where the system is midway through suspending but has no wake
   alarm.  It will get stuck.

We'd rather not remove the "move" since the idea is to avoid a cancelled
suspend when the alarm fires _during_ suspend.  It is difficult for the
test to tell the difference between a suspend that was cancelled because
the alarm fired too early and a suspend that was

Signed-off-by: Bernie Thompson <bhthompson@chromium.org>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Doug Anderson <dianders@chromium.org>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-07-03 16:07:54 -07:00
..
class.c drivers/rtc/class.c: use struct device as the first argument for devm_rtc_device_register() 2013-04-29 18:28:22 -07:00
hctosys.c rtc_sysfs_show_hctosys(): display 0 if resume failed 2012-10-06 03:05:04 +09:00
interface.c drivers/rtc/interface.c: fix checkpatch errors 2013-07-03 16:07:46 -07:00
Kconfig time: Revert ALWAYS_USE_PERSISTENT_CLOCK compile time optimizaitons 2013-05-14 20:54:06 +02:00
Makefile This is the MFD pull request for the 3.9 merge window. 2013-02-24 20:00:58 -08:00
rtc-88pm80x.c rtc: rtc-88pm80x: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:46 -07:00
rtc-88pm860x.c rtc: rtc-88pm860x: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:48 -07:00
rtc-ab3100.c drivers/rtc/rtc-ab3100.c: remove empty function 2013-07-03 16:07:54 -07:00
rtc-ab8500.c rtc: rtc-ab8500: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:49 -07:00
rtc-at32ap700x.c rtc: rtc-at32ap700x: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:49 -07:00
rtc-at91rm9200.c rtc: rtc-at91rm9200: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:49 -07:00
rtc-at91rm9200.h Revert "drivers/rtc/rtc-at91rm9200.c: use a variable for storing IMR" 2013-04-05 09:36:53 -07:00
rtc-at91sam9.c rtc: rtc-at91sam9: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:49 -07:00
rtc-au1xxx.c drivers/rtc/rtc-au1xxx.c: remove empty function 2013-07-03 16:07:54 -07:00
rtc-bfin.c rtc: rtc-bfin: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:49 -07:00
rtc-bq32k.c rtc: rtc-bq32k: use devm_rtc_device_register() 2013-04-29 18:28:29 -07:00
rtc-bq4802.c drivers/rtc/rtc-bq4802.c: remove empty function 2013-07-03 16:07:54 -07:00
rtc-cmos.c drivers/rtc/rtc-cmos.c: fix whitespace related errors 2013-07-03 16:07:46 -07:00
rtc-coh901331.c rtc: rtc-coh901331: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:49 -07:00
rtc-core.h
rtc-da9052.c drivers/rtc/rtc-da9052.c: remove empty function 2013-07-03 16:07:54 -07:00
rtc-da9055.c drivers/rtc/rtc-da9055.c: remove empty function 2013-07-03 16:07:54 -07:00
rtc-davinci.c rtc: rtc-davinci: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:50 -07:00
rtc-dev.c rtc: use dev_warn()/dev_dbg()/pr_err() instead of printk() 2013-02-21 17:22:29 -08:00
rtc-dm355evm.c drivers/rtc/rtc-dm355evm.c: remove empty function 2013-07-03 16:07:53 -07:00
rtc-ds1216.c rtc: rtc-ds1216: use devm_*() functions 2013-04-29 18:28:36 -07:00
rtc-ds1286.c rtc: rtc-ds1286: use devm_*() functions 2013-04-29 18:28:36 -07:00
rtc-ds1302.c drivers/rtc/rtc-ds1302.c: remove empty function 2013-07-03 16:07:53 -07:00
rtc-ds1305.c drivers/rtc/rtc-ds1305.c: add missing braces around sizeof 2013-07-03 16:07:46 -07:00
rtc-ds1307.c drivers/rtc/rtc-ds1307.c: change sysfs function pointer assignment 2013-04-29 18:28:34 -07:00
rtc-ds1374.c drivers/rtc/rtc-ds1374.c: fix spacing related issues 2013-07-03 16:07:46 -07:00
rtc-ds1390.c rtc: rtc-ds1390: use devm_*() functions 2013-04-29 18:28:37 -07:00
rtc-ds1511.c drivers/rtc/rtc-ds1511.c: fix issues related to spaces and braces 2013-07-03 16:07:47 -07:00
rtc-ds1553.c rtc: rtc-ds1553: use devm_rtc_device_register() 2013-04-29 18:28:25 -07:00
rtc-ds1672.c rtc: rtc-ds1672: use devm_rtc_device_register() 2013-04-29 18:28:29 -07:00
rtc-ds1742.c rtc: rtc-ds1742: use devm_rtc_device_register() 2013-04-29 18:28:25 -07:00
rtc-ds2404.c rtc: rtc-ds2404: use devm_*() functions 2013-04-29 18:28:37 -07:00
rtc-ds3232.c drivers/rtc/rtc-ds3232.c: use devm_* APIs 2013-04-29 18:28:36 -07:00
rtc-ds3234.c drivers/rtc/rtc-ds3234.c: fix whitespace issue 2013-07-03 16:07:47 -07:00
rtc-efi.c rtc: rtc-efi: use devm_rtc_device_register() 2013-04-29 18:28:29 -07:00
rtc-em3027.c rtc: rtc-em3027: use devm_rtc_device_register() 2013-04-29 18:28:29 -07:00
rtc-ep93xx.c rtc: rtc-ep93xx: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:50 -07:00
rtc-fm3130.c drivers/rtc/rtc-fm3130.c: fix whitespace related issue 2013-07-03 16:07:47 -07:00
rtc-generic.c rtc: rtc-generic: use devm_rtc_device_register() 2013-04-29 18:28:30 -07:00
rtc-hid-sensor-time.c rtc: rtc-hid-sensor-time: allow 16 and 32 bit values for all attributes. 2013-07-03 16:07:54 -07:00
rtc-imxdi.c rtc: rtc-imxdi: use devm_rtc_device_register() 2013-04-29 18:28:25 -07:00
rtc-isl1208.c drivers/rtc/rtc-isl1208.c: call rtc_update_irq() from the alarm irq handler 2013-02-05 20:38:49 +11:00
rtc-isl12022.c drivers/rtc/rtc-isl12022.c: Remove rtc8564 from isl12022_id 2013-04-29 18:28:40 -07:00
rtc-jz4740.c rtc: rtc-jz4740: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:50 -07:00
rtc-lib.c rtc: Initialized rtc_time->tm_isdst 2011-08-26 17:26:35 -07:00
rtc-lp8788.c drivers/rtc/rtc-lp8788.c: remove empty function 2013-07-03 16:07:53 -07:00
rtc-lpc32xx.c rtc: rtc-lpc32xx: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:50 -07:00
rtc-ls1x.c drivers/rtc/rtc-ls1x.c: remove empty function 2013-07-03 16:07:53 -07:00
rtc-m41t80.c drivers/rtc/rtc-m41t80.c: fix spacing related issue 2013-07-03 16:07:47 -07:00
rtc-m41t93.c rtc: rtc-m41t93: use spi_set_drvdata() 2013-04-29 18:28:35 -07:00
rtc-m41t94.c rtc: rtc-m41t94: use spi_set_drvdata() 2013-04-29 18:28:34 -07:00
rtc-m48t35.c drivers/rtc/rtc-m48t35.c: use devm_* APIs 2013-04-29 18:28:36 -07:00
rtc-m48t59.c rtc: rtc-m48t59: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:50 -07:00
rtc-m48t86.c drivers/rtc/rtc-m48t86.c: remove empty function 2013-07-03 16:07:53 -07:00
rtc-max6900.c rtc: rtc-max6900: use devm_rtc_device_register() 2013-04-29 18:28:30 -07:00
rtc-max6902.c drivers/rtc/rtc-max6902.c: remove unwanted spaces 2013-07-03 16:07:47 -07:00
rtc-max8907.c drivers/rtc/rtc-max8907.c: remove redundant code 2013-04-29 18:28:34 -07:00
rtc-max8925.c drivers/rtc/rtc-max8925.c: remove empty function 2013-07-03 16:07:53 -07:00
rtc-max8997.c drivers/rtc/rtc-max8997.c: remove space before semicolon 2013-07-03 16:07:47 -07:00
rtc-max8998.c drivers/rtc/rtc-max8998.c: remove empty function 2013-07-03 16:07:53 -07:00
rtc-max77686.c drivers/rtc/rtc-max77686.c: remove space before semicolon 2013-07-03 16:07:47 -07:00
rtc-mc13xxx.c rtc: rtc-mc13xxx: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:51 -07:00
rtc-mpc5121.c drivers/rtc/rtc-mpc5121.c: remove space before tab 2013-07-03 16:07:47 -07:00
rtc-mrst.c Drivers: rtc: remove __dev* attributes. 2013-01-03 15:57:02 -08:00
rtc-msm6242.c drivers/rtc/rtc-msm6242.c: remove empty function 2013-07-03 16:07:53 -07:00
rtc-mv.c rtc: rtc-mv: use devm_rtc_device_register() 2013-04-29 18:28:26 -07:00
rtc-mxc.c rtc: rtc-mxc: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:51 -07:00
rtc-nuc900.c drivers/rtc/rtc-nuc900.c: remove empty function 2013-07-03 16:07:53 -07:00
rtc-omap.c drivers/rtc/rtc-omap.c: include <linux/io.h> instead of <asm/io.h> 2013-07-03 16:07:48 -07:00
rtc-palmas.c drivers/rtc/rtc-palmas.c: add dt support 2013-04-29 18:28:33 -07:00
rtc-pcap.c rtc: rtc-pcap: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:51 -07:00
rtc-pcf2123.c drivers/rtc/rtc-pcf2123.c: remove space before tabs 2013-07-03 16:07:48 -07:00
rtc-pcf8523.c rtc: rtc-pcf8523: use devm_rtc_device_register() 2013-04-29 18:28:26 -07:00
rtc-pcf8563.c rtc: rtc-pcf8563: use devm_*() functions 2013-04-29 18:28:38 -07:00
rtc-pcf8583.c drivers/rtc/rtc-pcf8583.c: move assignment outside if condition 2013-07-03 16:07:48 -07:00
rtc-pcf50633.c rtc: rtc-pcf50633: use devm_*() functions 2013-04-29 18:28:38 -07:00
rtc-pl030.c Merge branch 'amba' of git://git.linaro.org/people/rmk/linux-arm 2012-03-23 17:36:29 -07:00
rtc-pl031.c drivers/rtc/rtc-pl031.c: pass correct pointer to free_irq() 2013-05-24 16:22:52 -07:00
rtc-pm8xxx.c rtc: rtc-pm8xxx: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:51 -07:00
rtc-proc.c procfs: new helper - PDE_DATA(inode) 2013-04-09 14:13:32 -04:00
rtc-ps3.c rtc: rtc-ps3: use devm_rtc_device_register() 2013-04-29 18:28:30 -07:00
rtc-puv3.c rtc: rtc-puv3: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:52 -07:00
rtc-pxa.c rtc: rtc-pxa: switch to using SIMPLE_DEV_PM_OPS 2013-04-29 18:28:32 -07:00
rtc-r9701.c rtc: rtc-r9701: use spi_set_drvdata() 2013-04-29 18:28:34 -07:00
rtc-rc5t583.c rtc: rtc-rc5t583: switch to using SIMPLE_DEV_PM_OPS 2013-04-29 18:28:32 -07:00
rtc-rp5c01.c rtc: rtc-rp5c01: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:52 -07:00
rtc-rs5c313.c drivers/rtc/rtc-rs5c313.c: fix spacing related issues 2013-07-03 16:07:48 -07:00
rtc-rs5c348.c rtc: rtc-rs5c348: use devm_*() functions 2013-04-29 18:28:38 -07:00
rtc-rs5c372.c drivers/rtc/rtc-rs5c372.c: add R2221T/L variant to the driver 2013-05-07 18:38:26 -07:00
rtc-rv3029c2.c drivers/rtc/rtc-rv3029c2.c: fix disabling AIE irq 2013-07-03 16:07:52 -07:00
rtc-rx4581.c rtc: rtc-rx4581: use spi_set_drvdata() 2013-04-29 18:28:34 -07:00
rtc-rx8025.c Drivers: rtc: remove __dev* attributes. 2013-01-03 15:57:02 -08:00
rtc-rx8581.c rtc: rtc-rx8581: use devm_rtc_device_register() 2013-04-29 18:28:31 -07:00
rtc-s3c.c rtc: rtc-s3c: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:51 -07:00
rtc-s3c.h rtc: s3c: make header file local 2013-04-19 13:51:25 +02:00
rtc-s35390a.c rtc: rtc-s35390a: use devm_*() functions 2013-04-29 18:28:38 -07:00
rtc-sa1100.c rtc: rtc-sa1100: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:51 -07:00
rtc-sh.c rtc: rtc-sh: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:51 -07:00
rtc-snvs.c rtc: rtc-snvs: use devm_rtc_device_register() 2013-04-29 18:28:27 -07:00
rtc-spear.c rtc: rtc-spear: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:52 -07:00
rtc-starfire.c rtc: rtc-starfire: use devm_rtc_device_register() 2013-04-29 18:28:31 -07:00
rtc-stk17ta8.c rtc: rtc-stk17ta8: use devm_rtc_device_register() 2013-04-29 18:28:27 -07:00
rtc-stmp3xxx.c rtc: rtc-stmp3xxx: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:52 -07:00
rtc-sun4v.c rtc: rtc-sun4v: use devm_rtc_device_register() 2013-04-29 18:28:31 -07:00
rtc-sysfs.c rtc: add ability to push out an existing wakealarm using sysfs 2013-07-03 16:07:54 -07:00
rtc-tegra.c drivers/rtc: don't check resource with devm_ioremap_resource 2013-05-18 11:57:07 +02:00
rtc-test.c rtc: rtc-test: use devm_rtc_device_register() 2013-04-29 18:28:31 -07:00
rtc-tile.c drivers/rtc/rtc-tile.c: remove empty function 2013-07-03 16:07:53 -07:00
rtc-tps6586x.c drivers/rtc/rtc-tps6586x.c: device wakeup flags correction 2013-06-12 16:29:45 -07:00
rtc-tps65910.c drivers/rtc/rtc-tps65910.c: fix incorrect return value on error 2013-04-29 18:28:33 -07:00
rtc-tps80031.c rtc: rtc-tps80031: switch to using SIMPLE_DEV_PM_OPS 2013-04-29 18:28:33 -07:00
rtc-twl.c rtc: rtc-twl: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:52 -07:00
rtc-tx4939.c rtc: rtc-tx4939: use devm_rtc_device_register() 2013-04-29 18:28:27 -07:00
rtc-v3020.c drivers/rtc/rtc-v3020.c: fix spacing issues 2013-07-03 16:07:48 -07:00
rtc-vr41xx.c rtc: rtc-vr41xx: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:52 -07:00
rtc-vt8500.c rtc: rtc-vt8500: remove unnecessary platform_set_drvdata() 2013-07-03 16:07:52 -07:00
rtc-wm831x.c rtc: rtc-wm831x: use devm_rtc_device_register() 2013-04-29 18:28:27 -07:00
rtc-wm8350.c rtc: rtc-wm8350: switch to using SIMPLE_DEV_PM_OPS 2013-04-29 18:28:32 -07:00
rtc-x1205.c drivers/rtc/rtc-x1205.c: fix checkpatch issues 2013-07-03 16:07:48 -07:00
systohc.c NTP: Add a CONFIG_RTC_SYSTOHC configuration 2013-01-15 18:16:06 -08:00