linux/drivers/rtc
Rabin Vincent 41c7f74242 rtc: Disable the alarm in the hardware (v2)
Currently, the RTC code does not disable the alarm in the hardware.

This means that after a sequence such as the one below (the files are in the
RTC sysfs), the box will boot up after 2 minutes even though we've
asked for the alarm to be turned off.

	# echo $((`cat since_epoch`)+120) > wakealarm
	# echo 0 > wakealarm
	# poweroff

Fix this by disabling the alarm when there are no timers to run.

The original version of this patch was reverted. This version
disables the irq directly instead of setting a disabled timer
in the future.

Cc: stable@kernel.org
Cc: John Stultz <john.stultz@linaro.org>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
[Merged in the second revision from Rabin]
Signed-off-by: John Stultz <john.stultz@linaro.org>
2012-01-26 19:41:42 -08:00
..
class.c Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2011-12-05 16:53:43 -08:00
hctosys.c
interface.c rtc: Disable the alarm in the hardware (v2) 2012-01-26 19:41:42 -08:00
Kconfig Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-01-11 19:13:40 -08:00
Makefile drivers/rtc: add support for Qualcomm PMIC8xxx RTC 2011-07-25 20:57:17 -07:00
rtc-88pm860x.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-ab3100.c
rtc-ab8500.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 2012-01-13 20:43:32 -08:00
rtc-at32ap700x.c treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02:00
rtc-at91rm9200.c ARM: at91: make rm9200 rtc drivers soc independent 2011-11-28 22:50:39 +08:00
rtc-at91sam9.c RTC: Clean out UIE icotl implementations 2011-03-09 11:24:54 -08:00
rtc-au1xxx.c
rtc-bfin.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-bq32k.c
rtc-bq4802.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-cmos.c drivers/rtc/rtc-cmos.c: fix broken NVRAM bank 2 writing 2012-01-10 16:30:52 -08:00
rtc-coh901331.c rtc: fix coh901331 startup crash 2011-04-20 18:46:56 +02:00
rtc-core.h
rtc-davinci.c rtc: davinci: Initialize drvdata before registering device 2011-05-06 17:41:06 -07:00
rtc-dev.c rtc: Fix ioctl error path return 2011-06-01 19:29:39 -07:00
rtc-dm355evm.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-ds1216.c
rtc-ds1286.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-ds1302.c
rtc-ds1305.c rtc: Add module.h to implicit users in drivers/rtc 2011-10-31 19:31:28 -04:00
rtc-ds1307.c rtc: add initial support for mcp7941x parts 2011-11-02 16:06:58 -07:00
rtc-ds1374.c rtc: convert DS1374 to dev_pm_ops 2011-03-22 17:44:16 -07:00
rtc-ds1390.c spi/rtc-{ds1390,ds3234,m41t94}: Use spi_get_drvdata() for SPI devices 2011-03-17 10:32:47 -06:00
rtc-ds1511.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-ds1553.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-ds1672.c rtc: Add module.h to implicit users in drivers/rtc 2011-10-31 19:31:28 -04:00
rtc-ds1742.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-ds3232.c RTC: Cleanup rtc_class_ops->update_irq_enable() 2011-03-09 11:23:37 -08:00
rtc-ds3234.c spi/rtc-{ds1390,ds3234,m41t94}: Use spi_get_drvdata() for SPI devices 2011-03-17 10:32:47 -06:00
rtc-efi.c
rtc-em3027.c rtc: Add module.h to implicit users in drivers/rtc 2011-10-31 19:31:28 -04:00
rtc-ep93xx.c rtc: ep93xx: Fix 'rtc' may be used uninitialized warning 2011-08-10 15:54:24 -07:00
rtc-fm3130.c
rtc-generic.c
rtc-imxdi.c drivers/rtc/rtc-imxdi.c needs linux/sched.h 2011-09-14 18:09:37 -07:00
rtc-isl1208.c drivers/rtc/rtc-isl1208.c: add alarm support 2011-03-22 17:44:16 -07:00
rtc-isl12022.c rtc: Add module.h to implicit users in drivers/rtc 2011-10-31 19:31:28 -04:00
rtc-jz4740.c drivers/rtc/rtc-jz4740.c: make jz4740_rtc_driver static 2012-01-10 16:30:53 -08:00
rtc-lib.c rtc: Initialized rtc_time->tm_isdst 2011-08-26 17:26:35 -07:00
rtc-lpc32xx.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-m41t80.c rtc: m41t80: Workaround broken alarm functionality 2011-12-13 12:26:24 -08:00
rtc-m41t93.c drivers/rtc/: remove redundant spi driver bus initialization 2012-01-10 16:30:53 -08:00
rtc-m41t94.c drivers/rtc/: remove redundant spi driver bus initialization 2012-01-10 16:30:53 -08:00
rtc-m48t35.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-m48t59.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-m48t86.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-max6900.c
rtc-max6902.c drivers/rtc/: remove redundant spi driver bus initialization 2012-01-10 16:30:53 -08:00
rtc-max8925.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 2012-01-13 20:43:32 -08:00
rtc-max8998.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-mc13xxx.c drivers/rtc/rtc-mc13xxx.c: make mc13xxx_rtc_idtable static 2012-01-10 16:30:53 -08:00
rtc-mpc5121.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-mrst.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-msm6242.c rtc: msm6242: Initialize drvdata before registering device 2011-05-06 18:02:03 -07:00
rtc-mv.c rtc: Add module.h to implicit users in drivers/rtc 2011-10-31 19:31:28 -04:00
rtc-mxc.c drivers/rtc/rtc-mxc.c: make alarm work 2012-01-10 16:30:52 -08:00
rtc-nuc900.c RTC: Cleanup rtc_class_ops->update_irq_enable() 2011-03-09 11:23:37 -08:00
rtc-omap.c rtc-omap: fix initialization of control register 2011-08-03 14:25:20 -10:00
rtc-pcap.c rtc: pcap: Initialize drvdata before registering device 2011-05-06 18:02:04 -07:00
rtc-pcf2123.c drivers/rtc/: remove redundant spi driver bus initialization 2012-01-10 16:30:53 -08:00
rtc-pcf8563.c rtc: Add module.h to implicit users in drivers/rtc 2011-10-31 19:31:28 -04:00
rtc-pcf8583.c
rtc-pcf50633.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-pl030.c rtc: pl030: Enable module alias autogeneration for AMBA drivers 2011-11-22 10:58:31 +00:00
rtc-pl031.c rtc: pl031: Enable module alias autogeneration for AMBA drivers 2011-11-22 10:58:32 +00:00
rtc-pm8xxx.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-proc.c RTC: Include information about UIE and PIE in RTC driver proc. 2011-03-09 11:25:04 -08:00
rtc-ps3.c
rtc-puv3.c rtc-puv3: solve section mismatch in rtc-puv3.c 2012-01-10 10:29:42 +08:00
rtc-pxa.c RTC: Cleanup rtc_class_ops->update_irq_enable() 2011-03-09 11:23:37 -08:00
rtc-r9701.c
rtc-rp5c01.c rtc: rp5c01: Initialize drvdata before registering device 2011-05-06 18:02:05 -07:00
rtc-rs5c313.c
rtc-rs5c348.c drivers/rtc/: remove redundant spi driver bus initialization 2012-01-10 16:30:53 -08:00
rtc-rs5c372.c rtc: Add module.h to implicit users in drivers/rtc 2011-10-31 19:31:28 -04:00
rtc-rv3029c2.c rtc: add rv3029c2 RTC support 2011-05-26 17:12:33 -07:00
rtc-rx8025.c RTC: Cleanup rtc_class_ops->irq_set_state 2011-03-09 11:23:34 -08:00
rtc-rx8581.c
rtc-s3c.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-s35390a.c
rtc-sa1100.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-sh.c drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
rtc-spear.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-starfire.c
rtc-stk17ta8.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-stmp3xxx.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-sun4v.c
rtc-sysfs.c
rtc-tegra.c drivers/rtc/rtc-tegra.c: properly initialize spinlock 2011-07-25 20:57:17 -07:00
rtc-test.c RTC: Fix the cross interrupt issue on rtc-test. 2011-03-09 11:25:07 -08:00
rtc-tile.c tile: add an RTC driver for the Tilera hypervisor 2011-05-17 14:44:36 -04:00
rtc-twl.c drivers/rtc/rtc-twl.c: add DT support for RTC inside twl4030/twl6030 2012-01-10 16:30:53 -08:00
rtc-tx4939.c rtc: Add module.h to implicit users in drivers/rtc 2011-10-31 19:31:28 -04:00
rtc-v3020.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-vr41xx.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-vt8500.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-wm831x.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-wm8350.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-x1205.c rtc: Add module.h to implicit users in drivers/rtc 2011-10-31 19:31:28 -04:00