linux/drivers/rtc
Jason Gunthorpe 023f333a99 NTP: Add a CONFIG_RTC_SYSTOHC configuration
The purpose of this option is to allow ARM/etc systems that rely on the
class RTC subsystem to have the same kind of automatic NTP based
synchronization that we have on PC platforms. Today ARM does not
implement update_persistent_clock and makes extensive use of the class
RTC system.

When enabled CONFIG_RTC_SYSTOHC will provide a generic
rtc_update_persistent_clock that stores the current time in the RTC and
is intended complement the existing CONFIG_RTC_HCTOSYS option that loads
the RTC at boot.

Like with RTC_HCTOSYS the platform's update_persistent_clock is used
first, if it works. Platforms with mixed class RTC and non-RTC drivers
need to return ENODEV when class RTC should be used. Such an update for
PPC is included in this patch.

Long term, implementations of update_persistent_clock should migrate to
proper class RTC drivers and use CONFIG_RTC_SYSTOHC instead.

Tested on ARM kirkwood and PPC405

Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
2013-01-15 18:16:06 -08:00
..
class.c rtc_sysfs_show_hctosys(): display 0 if resume failed 2012-10-06 03:05:04 +09:00
hctosys.c rtc_sysfs_show_hctosys(): display 0 if resume failed 2012-10-06 03:05:04 +09:00
interface.c RTC: Avoid races between RTC alarm wakeup and suspend. 2012-08-08 20:49:16 +02:00
Kconfig NTP: Add a CONFIG_RTC_SYSTOHC configuration 2013-01-15 18:16:06 -08:00
Makefile NTP: Add a CONFIG_RTC_SYSTOHC configuration 2013-01-15 18:16:06 -08:00
rtc-88pm80x.c rtc/rtc-88pm80x: remove unneed devm_kfree 2012-07-31 18:42:50 -07:00
rtc-88pm860x.c mfd: 88pm860x: Device tree support 2012-10-02 11:43:13 +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 drivers/rtc/rtc-ab8500.c: Revoke Device Tree enablement 2012-09-20 12:32:34 +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 ARM: at91: fix new build errors 2012-07-04 13:56:48 +02:00
rtc-at91sam9.c drivers/rtc/rtc-at91sam9.c: use module_platform_driver() macro 2012-10-06 03:05:02 +09: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: convert rtc i2c drivers to module_i2c_driver 2012-03-23 16:58:39 -07:00
rtc-bq4802.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-cmos.c RTC: Avoid races between RTC alarm wakeup and suspend. 2012-08-08 20:49:16 +02:00
rtc-coh901331.c drivers/rtc/rtc-coh901331.c: use clk_prepare_enable() and clk_disable_unprepare() 2012-10-06 03:05:04 +09:00
rtc-core.h
rtc-da9052.c rtc/rtc-da9052: remove unneed devm_kfree call 2012-07-30 17:25:18 -07:00
rtc-davinci.c drivers/rtc: remove IRQF_DISABLED 2012-03-23 16:58:39 -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 sh: mach-snapgear: Kill off machtype, consolidate board def. 2010-10-29 19:06:53 +09:00
rtc-ds1305.c rtc: convert rtc spi drivers to module_spi_driver 2012-03-23 16:58:39 -07:00
rtc-ds1307.c rtc: ds1307: add trickle charger support 2012-05-29 16:22:33 -07:00
rtc-ds1374.c rtc: convert rtc i2c drivers to module_i2c_driver 2012-03-23 16:58:39 -07:00
rtc-ds1390.c rtc: convert rtc spi drivers to module_spi_driver 2012-03-23 16:58:39 -07:00
rtc-ds1511.c drivers/rtc: remove IRQF_DISABLED 2012-03-23 16:58:39 -07:00
rtc-ds1553.c drivers/rtc: remove IRQF_DISABLED 2012-03-23 16:58:39 -07:00
rtc-ds1672.c drivers/rtc/rtc-ds1672.c: convert struct i2c_msg initialization to C99 format 2012-10-06 03:05:05 +09:00
rtc-ds1742.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-ds2404.c rtc: add Dallas DS2404 driver 2012-10-06 03:05:01 +09:00
rtc-ds3232.c rtc: convert rtc i2c drivers to module_i2c_driver 2012-03-23 16:58:39 -07:00
rtc-ds3234.c rtc: convert rtc spi drivers to module_spi_driver 2012-03-23 16:58:39 -07:00
rtc-efi.c drivers/rtc/rtc-efi.c: fix section mismatch warning 2012-04-12 13:12:12 -07:00
rtc-em3027.c drivers/rtc/rtc-em3027.c: convert struct i2c_msg initialization to C99 format 2012-10-06 03:05:07 +09:00
rtc-ep93xx.c drivers/rtc/rtc-ep93xx.c: convert to use module_platform_driver() 2012-05-29 16:22:33 -07:00
rtc-fm3130.c rtc: convert rtc i2c drivers to module_i2c_driver 2012-03-23 16:58:39 -07:00
rtc-generic.c
rtc-imxdi.c drivers/rtc/rtc-imxdi.c: add missing spin lock initialization 2012-10-25 14:37:53 -07:00
rtc-isl1208.c drivers/rtc/rtc-isl1208.c: convert struct i2c_msg initialization to C99 format 2012-10-06 03:05:06 +09:00
rtc-isl12022.c rtc: convert rtc i2c drivers to module_i2c_driver 2012-03-23 16:58:39 -07:00
rtc-jz4740.c drivers/rtc/rtc-jz4740.c: fix IRQ error check 2012-10-06 03:05:03 +09:00
rtc-lib.c rtc: Initialized rtc_time->tm_isdst 2011-08-26 17:26:35 -07:00
rtc-lpc32xx.c drivers/rtc/rtc-lpc32xx.c: add device tree support 2012-05-29 16:22:34 -07:00
rtc-ls1x.c MIPS: add RTC support for loongson1B 2012-03-23 16:58:39 -07:00
rtc-m41t80.c drivers/rtc/rtc-m41t80.c: remove disabled alarm functionality 2012-10-06 03:05:07 +09:00
rtc-m41t93.c drivers/rtc/rtc-m41t93.c: don't let get_time() reset M41T93_FLAG_OF 2012-05-29 16:22:33 -07:00
rtc-m41t94.c rtc: convert rtc spi drivers to module_spi_driver 2012-03-23 16:58:39 -07: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: convert rtc i2c drivers to module_i2c_driver 2012-03-23 16:58:39 -07:00
rtc-max6902.c rtc: convert rtc spi drivers to module_spi_driver 2012-03-23 16:58:39 -07:00
rtc-max8907.c rtc: add MAX8907 RTC driver 2012-10-06 03:05:02 +09:00
rtc-max8925.c mfd: Transfer rtc max8925 irq from MFD defined resources 2012-07-09 00:16:10 +02:00
rtc-max8998.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-mc13xxx.c rtc/mc13xxx: add support for the rtc in the mc34708 pmic 2012-07-30 17:25:18 -07:00
rtc-mpc5121.c rtc: Fix possible null pointer dereference in rtc-mpc5121.c 2012-04-26 11:17:01 +02:00
rtc-mrst.c drivers/rtc: remove IRQF_DISABLED 2012-03-23 16:58:39 -07:00
rtc-msm6242.c rtc: msm6242: Initialize drvdata before registering device 2011-05-06 18:02:03 -07:00
rtc-mv.c ARM: Kirkwood: Replace mrvl with marvell 2012-07-25 17:06:23 +02:00
rtc-mxc.c rtc: rtc-mxc: convert to module_platform_driver 2012-10-06 03:05:04 +09:00
rtc-nuc900.c drivers/rtc: remove IRQF_DISABLED 2012-03-23 16:58:39 -07:00
rtc-omap.c drivers/rtc: remove IRQF_DISABLED 2012-03-23 16:58:39 -07:00
rtc-pcap.c rtc: pcap: Initialize drvdata before registering device 2011-05-06 18:02:04 -07:00
rtc-pcf2123.c drivers/rtc/rtc-pcf2123.c: initialize dynamic sysfs attributes 2012-08-21 16:45:03 -07:00
rtc-pcf8563.c drivers/rtc/rtc-pcf8563.c: convert struct i2c_msg initialization to C99 format 2012-10-06 03:05:06 +09:00
rtc-pcf8583.c rtc: convert rtc i2c drivers to module_i2c_driver 2012-03-23 16:58:39 -07:00
rtc-pcf50633.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08: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 rtc: pl031: fix up IRQ flags 2012-07-30 17:25:18 -07:00
rtc-pm8xxx.c drivers/rtc/rtc-pm8xxx.c: make pm8xxx_rtc_pm_ops static 2012-03-23 16:58:39 -07:00
rtc-proc.c rtc-proc: permit the /proc/driver/rtc device to use other devices 2012-10-06 03:05:01 +09: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: add DT bindings to pxa-rtc 2012-08-16 16:13:07 +08:00
rtc-r9701.c drivers/rtc/rtc-r9701.c: check that r9701_set_datetime() succeeded 2012-07-30 17:25:18 -07:00
rtc-rc5t583.c rtc: rc5t583: add ricoh rc5t583 RTC driver 2012-10-06 03:05:03 +09: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 drivers/rtc/rtc-rs5c348.c: fix hour decoding in 12-hour mode 2012-08-21 16:45:03 -07:00
rtc-rs5c372.c drivers/rtc/rtc-rs5c372.c: convert struct i2c_msg initialization to C99 format 2012-10-06 03:05:06 +09:00
rtc-rv3029c2.c rtc: convert rtc i2c drivers to module_i2c_driver 2012-03-23 16:58:39 -07:00
rtc-rx8025.c rtc: convert rtc i2c drivers to module_i2c_driver 2012-03-23 16:58:39 -07:00
rtc-rx8581.c rtc: convert rtc i2c drivers to module_i2c_driver 2012-03-23 16:58:39 -07:00
rtc-s3c.c drivers/rtc/rtc-s3c.c: fix return value in s3c_rtc_probe() 2012-10-06 03:05:04 +09:00
rtc-s35390a.c drivers/rtc/rtc-s35390a.c: add wakealarm support for rtc-s35390A rtc chip 2012-10-06 03:05:08 +09:00
rtc-sa1100.c ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
rtc-sh.c drivers/rtc: remove IRQF_DISABLED 2012-03-23 16:58:39 -07:00
rtc-snvs.c rtc: snvs: add Freescale rtc-snvs driver 2012-10-06 03:05:01 +09:00
rtc-spear.c drivers/rtc/rtc-spear.c: fix several error checks 2012-10-06 03:05:03 +09:00
rtc-starfire.c
rtc-stk17ta8.c drivers/rtc: remove IRQF_DISABLED 2012-03-23 16:58:39 -07:00
rtc-stmp3xxx.c rtc: stmp3xxx: Add simple binding for the stmp3xxx-rtc 2012-07-03 13:22:36 +08:00
rtc-sun4v.c
rtc-sysfs.c rtc_sysfs_show_hctosys(): display 0 if resume failed 2012-10-06 03:05:04 +09:00
rtc-tegra.c drivers/rtc/rtc-tegra.c: clean up probe/remove routines 2012-05-29 16:22:34 -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-tps65910.c drivers/rtc/rtc-tps65910.c: use platform_get_irq() to get RTC irq details 2012-10-06 03:05:07 +09:00
rtc-twl.c drivers/rtc/rtc-twl.c: ensure all interrupts are disabled during probe 2012-09-17 15:00:38 -07:00
rtc-tx4939.c drivers/rtc: remove IRQF_DISABLED 2012-03-23 16:58:39 -07:00
rtc-v3020.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-vr41xx.c drivers/rtc: remove IRQF_DISABLED 2012-03-23 16:58:39 -07:00
rtc-vt8500.c rtc: vt8500: Add devicetree support for vt8500-rtc 2012-09-21 19:23:55 +12:00
rtc-wm831x.c rtc: wm831x: Feed the write counter into device_add_randomness() 2012-07-19 10:38:31 -04:00
rtc-wm8350.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-x1205.c drivers/rtc/rtc-x1205.c: convert struct i2c_msg initialization to C99 format 2012-10-06 03:05:05 +09:00
systohc.c NTP: Add a CONFIG_RTC_SYSTOHC configuration 2013-01-15 18:16:06 -08:00