linux/drivers/rtc
Linus Torvalds f423fc627b Revert "rtc: Expire alarms after the time is set."
This reverts commit 93b2ec0128.

The call to "schedule_work()" in rtc_initialize_alarm() happens too
early, and can cause oopses at bootup

Neil Brown explains why we do it:

  "If you set an alarm in the future, then shutdown and boot again after
   that time, then you will end up with a timer_queue node which is in
   the past.

   When this happens the queue gets stuck.  That entry-in-the-past won't
   get removed until and interrupt happens and an interrupt won't happen
   because the RTC only triggers an interrupt when the alarm is "now".

   So you'll find that e.g.  "hwclock" will always tell you that
   'select' timed out.

   So we force the interrupt work to happen at the start just in case."

and has a patch that convert it to do things in-process rather than with
the worker thread, but right now it's too late to play around with this,
so we just revert the patch that caused problems for now.

Reported-by: Sander Eikelenboom <linux@eikelenboom.it>
Requested-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Requested-by: John Stultz <john.stultz@linaro.org>
Cc: Neil Brown <neilb@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-01-04 07:57:22 -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 rtc/hctosys: only claim the RTC provided the system time if it did 2010-03-12 15:52:28 -08:00
interface.c Revert "rtc: Expire alarms after the time is set." 2012-01-04 07:57:22 -08:00
Kconfig um: switch to use of drivers/Kconfig 2011-11-02 14:15:41 +01:00
Makefile drivers/rtc: add support for Qualcomm PMIC8xxx RTC 2011-07-25 20:57:17 -07:00
rtc-88pm860x.c mfd: Add rtc support to 88pm860x 2011-05-26 19:45:34 +02:00
rtc-ab3100.c drivers/rtc/rtc-ab3100.c: add missing platform_set_drvdata() in ab3100_rtc_probe() 2010-09-22 17:22:39 -07:00
rtc-ab8500.c mfd: Align ab8500 with the abx500 interface 2010-10-29 00:29:19 +02: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 Fix common misspellings 2011-03-31 11:26:23 -03:00
rtc-at91sam9.c RTC: Clean out UIE icotl implementations 2011-03-09 11:24:54 -08:00
rtc-au1xxx.c
rtc-bfin.c Merge branch 'fortglx/39/tip/timers/rtc' of git://git.linaro.org/people/jstultz/linux into timers/urgent 2011-04-13 01:54:09 +02:00
rtc-bq32k.c rtc: add driver for BQ32000 I2C RTC 2009-12-16 07:20:00 -08:00
rtc-bq4802.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
rtc-cmos.c treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02: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: Add module.h to implicit users in drivers/rtc 2011-10-31 19:31:28 -04:00
rtc-ds1216.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
rtc-ds1286.c treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02:00
rtc-ds1302.c sh: mach-snapgear: Kill off machtype, consolidate board def. 2010-10-29 19:06:53 +09:00
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: Add module.h to implicit users in drivers/rtc 2011-10-31 19:31:28 -04:00
rtc-ds1553.c rtc: Add module.h to implicit users in drivers/rtc 2011-10-31 19:31:28 -04: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: Add module.h to implicit users in drivers/rtc 2011-10-31 19:31:28 -04: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: fixes and new functionality for fm3130 2010-08-11 08:59:07 -07:00
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 RTC: Cleanup rtc_class_ops->update_irq_enable() 2011-03-09 11:23:37 -08:00
rtc-lib.c rtc: Initialized rtc_time->tm_isdst 2011-08-26 17:26:35 -07:00
rtc-lpc32xx.c Fix common misspellings 2011-03-31 11:26:23 -03:00
rtc-m41t80.c rtc: m41t80: Workaround broken alarm functionality 2011-12-13 12:26:24 -08:00
rtc-m41t93.c spi/rtc-m41t93: Use spi_get_drvdata() for SPI devices 2011-06-08 14:33:48 -06:00
rtc-m41t94.c spi/rtc-{ds1390,ds3234,m41t94}: Use spi_get_drvdata() for SPI devices 2011-03-17 10:32:47 -06:00
rtc-m48t35.c treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02:00
rtc-m48t59.c treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02:00
rtc-m48t86.c rtc/m48t86: use rtc_valid_tm() to check returned tm 2010-08-11 08:59:07 -07:00
rtc-max6900.c rtc/max6900: use rtc_valid_tm() to check returning tm 2010-08-11 08:59:07 -07:00
rtc-max6902.c rtc: rtc-max6902 - set driver data in max6902_probe() 2011-01-13 08:03:12 -08:00
rtc-max8925.c rtc: max8925: Initialize drvdata before registering device 2011-05-06 18:02:00 -07:00
rtc-max8998.c rtc: max8998: Initialize drvdata before registering device 2011-05-06 18:02:02 -07:00
rtc-mc13xxx.c drivers/rtc/rtc-mc13xxx.c: move probe and remove callbacks to .init.text and .exit.text 2011-11-02 16:06:58 -07:00
rtc-mpc5121.c drivers/rtc/rtc-mpc5121.c: add support for RTC on MPC5200 2011-07-25 20:57:17 -07:00
rtc-mrst.c vrtc: change its year offset from 1960 to 1972 2011-11-11 23:58:58 -02: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: remove defines already included in rtc.h 2011-05-26 17:12:33 -07: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 rtc: Add module.h to implicit users in drivers/rtc 2011-10-31 19:31:28 -04: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: fix driver data issues in several rtc drivers 2009-12-16 07:19:58 -08:00
rtc-pcf50633.c drivers/rtc/rtc-pcf50633.c: don't request update IRQ 2011-05-26 17:12:33 -07:00
rtc-pl030.c Merge branches 'defcfg', 'drivers' and 'cyberpro-next' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-03-17 18:48:35 -07:00
rtc-pl031.c Merge branches 'defcfg', 'drivers' and 'cyberpro-next' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-03-17 18:48:35 -07:00
rtc-pm8xxx.c drivers/rtc: add support for Qualcomm PMIC8xxx RTC 2011-07-25 20:57:17 -07: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: rtc-puv3: Add __devinit and __devexit markers for probe and remove 2011-11-15 17:13:17 +08:00
rtc-pxa.c RTC: Cleanup rtc_class_ops->update_irq_enable() 2011-03-09 11:23:37 -08:00
rtc-r9701.c spi: prefix modalias with "spi:" 2009-09-23 07:39:43 -07:00
rtc-rp5c01.c rtc: rp5c01: Initialize drvdata before registering device 2011-05-06 18:02:05 -07:00
rtc-rs5c313.c rtc: rtc-rs5c313: ctrl_in/outX to __raw_read/writeX conversion. 2010-10-27 15:30:32 +09:00
rtc-rs5c348.c rtc: Add module.h to implicit users in drivers/rtc 2011-10-31 19:31:28 -04: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 drivers/rtc/rtc-rx8581.c: fix setdatetime 2010-07-27 14:32:06 -07:00
rtc-s3c.c drivers/rtc/rtc-s3c.c: fix driver clock enable/disable balance issues 2011-12-09 07:50:28 -08:00
rtc-s35390a.c i2c: Remove all i2c_set_clientdata(client, NULL) in drivers 2010-06-03 11:33:58 +02:00
rtc-sa1100.c RTC: sa1100: Update the sa1100 RTC driver. 2011-03-09 11:25:08 -08:00
rtc-sh.c drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
rtc-spear.c rtc: add support for spear rtc 2011-05-26 17:12:33 -07:00
rtc-starfire.c
rtc-stk17ta8.c rtc: Add module.h to implicit users in drivers/rtc 2011-10-31 19:31:28 -04:00
rtc-stmp3xxx.c rtc: stmp3xxx: Remove UIE handlers 2011-07-01 18:09:57 -07:00
rtc-sun4v.c
rtc-sysfs.c rtc/hctosys: only claim the RTC provided the system time if it did 2010-03-12 15:52:28 -08:00
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 rtc: twl: Fix registration vs. init order 2011-08-26 17:26:54 -07: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 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
rtc-vr41xx.c RTC: Cleanup rtc_class_ops->irq_set_freq() 2011-03-09 11:23:35 -08:00
rtc-vt8500.c rtc: vt8500: Use define instead of hardcoded value for status bit 2011-07-01 17:59:36 -07:00
rtc-wm831x.c RTC: Cleanup rtc_class_ops->update_irq_enable() 2011-03-09 11:23:37 -08:00
rtc-wm8350.c RTC: Cleanup rtc_class_ops->update_irq_enable() 2011-03-09 11:23:37 -08:00
rtc-x1205.c rtc: Add module.h to implicit users in drivers/rtc 2011-10-31 19:31:28 -04:00