kernel_optimize_test/drivers/rtc
Mike Frysinger b6de860651 rtc-bfin: fix state restoration when resuming
Much (but not all) of the RTC state is kept in the RTC peripheral which
has its own power domain.  Periodically (1 HZ), that state is synced from
one power domain to the other (peripheral->core).  When we are resuming,
we need to wait for the sync to occur so that we don't get a mismatch of
reading undefined state in the rest of the driver.

Further, once the externally maintained bits have been synced back into
the core, we then need to restore the bits maintained in the core.  In our
particular case, that is just the write completion interrupt bit.

If we don't do any of this, working with the RTC causes ~5 second delays
from time to time after waking up due to the write completion interrupt
never firing.

Reported-by: Michael Dean <mdean@aeronix.com>
Reported-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-09-09 18:57:22 -07:00
..
class.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
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
Kconfig Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-08-11 09:13:19 -07:00
Makefile rtc: add support for DS3232 RTC 2010-08-11 08:59:08 -07:00
rtc-ab3100.c mfd: AB3100 register access change to abx500 API 2010-05-28 01:37:45 +02:00
rtc-ab8500.c rtc: AB8500 RTC driver 2010-05-27 09:12:41 -07:00
rtc-at32ap700x.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-at91rm9200.c
rtc-at91sam9.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-au1xxx.c
rtc-bfin.c rtc-bfin: fix state restoration when resuming 2010-09-09 18:57:22 -07: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 drivers/rtc: remove unneeded ifdef CONFIG_PM 2010-08-11 08:59:08 -07:00
rtc-coh901331.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-core.h
rtc-davinci.c davinci: update gfp/slab.h includes 2010-06-28 10:19:19 +10:00
rtc-dev.c
rtc-dm355evm.c
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 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-ds1302.c rtc-ds1302: add some abstraction for new platform support 2010-05-25 08:07:08 -07:00
rtc-ds1305.c sysfs: add struct file* to bin_attr callbacks 2010-05-21 09:37:31 -07:00
rtc-ds1307.c rtc: fix ds1388 time corruption 2010-06-29 15:29:31 -07:00
rtc-ds1374.c i2c: Remove all i2c_set_clientdata(client, NULL) in drivers 2010-06-03 11:33:58 +02:00
rtc-ds1390.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-ds1511.c sysfs: add struct file* to bin_attr callbacks 2010-05-21 09:37:31 -07:00
rtc-ds1553.c sysfs: add struct file* to bin_attr callbacks 2010-05-21 09:37:31 -07:00
rtc-ds1672.c
rtc-ds1742.c sysfs: add struct file* to bin_attr callbacks 2010-05-21 09:37:31 -07:00
rtc-ds3232.c rtc: add support for DS3232 RTC 2010-08-11 08:59:08 -07:00
rtc-ds3234.c
rtc-efi.c
rtc-ep93xx.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-fm3130.c rtc: fixes and new functionality for fm3130 2010-08-11 08:59:07 -07:00
rtc-generic.c
rtc-imxdi.c rtc: driver for the DryIce block found in i.MX25 chips 2010-08-11 08:59:07 -07:00
rtc-isl1208.c rtc-isl1208: use sysfs_{create/remove}_group 2010-05-25 08:07:08 -07:00
rtc-isl12022.c rtc-isl12022: properly handle military hour format 2010-08-11 08:59:08 -07:00
rtc-jz4740.c RTC: Add JZ4740 RTC driver 2010-08-05 13:26:17 +01:00
rtc-lib.c
rtc-m41t80.c rtc/m41t80: use rtc_valid_tm() to check returned tm 2010-08-11 08:59:07 -07:00
rtc-m41t94.c
rtc-m48t35.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-m48t59.c rtc/m48t59: use rtc_valid_tm() to check returned tm 2010-08-11 08:59:07 -07: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-max8925.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-mc13783.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-mpc5121.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
rtc-msm6242.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-mv.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-mxc.c rtc/rtc-mxc: remove six unused fields 2010-08-11 08:59:06 -07:00
rtc-nuc900.c rtc/nuc900: fix build warning 2010-08-11 08:59:08 -07:00
rtc-omap.c Revert "rtc: omap: let device wakeup capability be configured from chip init logic" 2010-05-19 11:37:20 -07:00
rtc-pcap.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-pcf2123.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-pcf8563.c drivers/rtc/rtc-pcf8563.c: remove unused struct 2010-08-11 08:59:06 -07:00
rtc-pcf8583.c rtc: fix driver data issues in several rtc drivers 2009-12-16 07:19:58 -08:00
rtc-pcf50633.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-pl030.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-pl031.c drivers/rtc/rtc-pl031.c: remove unused #include <linux/version.h> 2010-08-11 08:59:07 -07:00
rtc-proc.c
rtc-ps3.c
rtc-pxa.c rtc/pxa: remove unnecessary private ops->ioctl() 2010-08-11 08:59:07 -07:00
rtc-r9701.c
rtc-rp5c01.c rtc: rp5c01: add NVRAM support 2010-08-11 08:59:08 -07:00
rtc-rs5c313.c
rtc-rs5c348.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-rs5c372.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-rx8025.c comment typo fixes: charater => character 2010-07-19 11:21:26 +02:00
rtc-rx8581.c drivers/rtc/rtc-rx8581.c: fix setdatetime 2010-07-27 14:32:06 -07:00
rtc-s3c.c rtc: rtc-s3c: Add BCD register initialization codes 2010-08-05 18:32:51 +09: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 const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
rtc-sh.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-starfire.c
rtc-stk17ta8.c sysfs: add struct file* to bin_attr callbacks 2010-05-21 09:37:31 -07:00
rtc-stmp3xxx.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-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-test.c
rtc-twl.c rtc-twl: Storage class should be before const qualifier 2010-03-06 11:26:47 -08:00
rtc-tx4939.c sysfs: add struct file* to bin_attr callbacks 2010-05-21 09:37:31 -07: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-vr41xx: use resource_size() 2009-12-16 07:20:00 -08:00
rtc-wm831x.c rtc: use genirq directly in rtc-wm831x 2010-05-25 08:07:08 -07:00
rtc-wm8350.c rtc: Suppress duplicate enable/disable of WM8350 update interrupt 2010-03-07 22:16:56 +01:00
rtc-x1205.c rtc-x1205: unconditionally set date when setting clock 2009-12-16 07:20:00 -08:00