linux/drivers/rtc
Joonyoung Shim ff02c0444b rtc: s5m: fix to update ctrl register
According to datasheet, the S2MPS13X and S2MPS14X should update write
buffer via setting WUDR bit to high after ctrl register is written.

If not, ALARM interrupt of rtc-s5m doesn't happen first time when i use
tools/testing/selftests/timers/rtctest.c test program and hour format is
used to 12 hour mode in Odroid-XU3 board.

One more issue is the RTC doesn't keep time on Odroid-XU3 board when i
turn on board after power off even if RTC battery is connected. It can
be solved as setting WUDR & RUDR bits to high at the same time after
RTC_CTRL register is written. It's same with condition of only writing
ALARM registers, so this is for only S2MPS14 and we should set WUDR &
A_UDR bits to high on S2MPS13.

I can't find any reasonable description about this like fix from
datasheet, but can find similar codes from rtc driver source of
hardkernel kernel and vendor kernel.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Cc: <stable@vger.kernel.org> # v3.16
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Tested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2015-09-05 19:37:19 +02:00
..
class.c rtc: switch to using is_visible() to control sysfs attributes 2015-09-05 13:19:07 +02:00
hctosys.c rtc: use more standard kernel logging styles 2015-04-17 09:04:02 -04:00
interface.c rtc: Drop (un)likely before IS_ERR(_OR_NULL) 2015-09-05 13:19:09 +02:00
Kconfig rtc: add xilinx zynqmp rtc driver 2015-09-05 19:37:19 +02:00
Makefile rtc: add xilinx zynqmp rtc driver 2015-09-05 19:37:19 +02:00
rtc-88pm80x.c rtc: 88pm80x: add device tree support 2015-09-05 13:19:05 +02:00
rtc-88pm860x.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-ab-b5ze-s3.c rtc: Export OF module alias information in missing drivers 2015-09-05 13:19:08 +02:00
rtc-ab3100.c drivers/rtc/ab3100: Update driver to address y2038/y2106 issues 2015-04-03 08:18:25 +02:00
rtc-ab8500.c rtc: ab8500: Constify platform_device_id 2015-06-19 20:03:20 +02:00
rtc-abx80x.c rtc: add rtc-abx80x, a driver for the Abracon AB x80x i2c rtc 2015-05-05 17:10:10 -07:00
rtc-armada38x.c rtc: armada38x: Align RTC set time procedure with the official errata 2015-09-05 13:19:12 +02:00
rtc-as3722.c rtc: as3722: correct month value 2015-09-05 19:37:18 +02:00
rtc-at32ap700x.c rtc: at32ap700x: update author email 2015-06-25 01:12:50 +02:00
rtc-at91rm9200.c rtc: at91rm9200: get and use slow clock 2015-09-05 13:19:09 +02:00
rtc-at91rm9200.h
rtc-at91sam9.c rtc: at91sam9: remove useless include 2015-09-05 13:19:13 +02:00
rtc-au1xxx.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-bfin.c rtc: Drop (un)likely before IS_ERR(_OR_NULL) 2015-09-05 13:19:09 +02:00
rtc-bq32k.c rtc: Drop owner assignment from i2c_driver 2015-09-05 13:19:06 +02:00
rtc-bq4802.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-cmos.c rtc: cmos: clean up cmos_nvram_read()/cmos_nvram_write() 2015-09-05 13:19:09 +02:00
rtc-coh901331.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-core.h rtc: switch to using is_visible() to control sysfs attributes 2015-09-05 13:19:07 +02:00
rtc-da9052.c drivers/rtc/rtc-da9052.c: register ability of alarm to wake device from suspend 2015-04-17 09:04:00 -04:00
rtc-da9055.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-da9063.c rtc: da9063: Add DA9062 RTC capability to DA9063 RTC driver 2015-09-05 13:19:08 +02:00
rtc-davinci.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-dev.c rtc: dev: properly manage lifetime of dev and cdev in rtc device 2015-09-05 13:19:07 +02:00
rtc-digicolor.c rtc: driver for Conexant Digicolor CX92755 on-chip RTC 2015-04-17 09:04:01 -04:00
rtc-dm355evm.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-ds1216.c rtc: simplify use of devm_ioremap_resource 2015-06-25 01:13:40 +02:00
rtc-ds1286.c rtc: simplify use of devm_ioremap_resource 2015-06-25 01:13:40 +02:00
rtc-ds1302.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-ds1305.c rtc: ds1305: clean up ds1305_nvram_read()/ds1305_nvram_write() 2015-09-05 13:19:09 +02:00
rtc-ds1307.c rtc: ds1307: clean up ds1307_nvram_read()/ds1307_nvram_write() 2015-09-05 13:19:10 +02:00
rtc-ds1343.c rtc: ds1343: clean up ds1343_nvram_read()/ds1343_nvram_write() 2015-09-05 13:19:10 +02:00
rtc-ds1347.c rtc: add support for maxim dallas rtc ds1347 2014-04-03 16:21:23 -07:00
rtc-ds1374.c rtc: fix drivers that consider 0 as a valid IRQ in client->irq 2015-09-05 13:19:07 +02:00
rtc-ds1390.c rtc: rtc-ds1390: remove unnecessary OOM messages 2014-04-03 16:21:17 -07:00
rtc-ds1511.c rtc: ds1511: clean up ds1511_nvram_read()/ds1511_nvram_write() 2015-09-05 13:19:10 +02:00
rtc-ds1553.c rtc: ds1553: clean up ds1553_nvram_read()/ds1553_nvram_write() 2015-09-05 13:19:10 +02:00
rtc-ds1672.c rtc: ds1672, max6900, max8998: Add MODULE_DEVICE_TABLE 2015-06-25 01:13:36 +02:00
rtc-ds1685.c rtc: ds1685: Use module_platform_driver 2015-09-05 13:19:05 +02:00
rtc-ds1742.c rtc: ds1742: clean up ds1742_nvram_read()/ds1742_nvram_write() 2015-09-05 13:19:10 +02:00
rtc-ds2404.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-ds3232.c rtc: ds3232: fix WARNING trace in resume function 2015-09-05 19:36:21 +02:00
rtc-ds3234.c drivers/rtc/rtc-ds3234.c: remove empty function 2013-07-03 16:07:56 -07:00
rtc-efi-platform.c rtc: use more standard kernel logging styles 2015-04-17 09:04:02 -04:00
rtc-efi.c rtc: efi: use correct EFI 'epoch' 2015-06-25 01:13:44 +02:00
rtc-em3027.c drivers/rtc/rtc-em3027.c: add device tree support 2015-04-17 09:03:59 -04:00
rtc-ep93xx.c rtc: ep93xx: Use readl/writel for io 2015-06-25 01:13:38 +02:00
rtc-fm3130.c rtc: Drop owner assignment from i2c_driver 2015-09-05 13:19:06 +02:00
rtc-gemini.c rtc: gemini: fix ptr_ret.cocci warnings 2015-09-05 13:19:09 +02:00
rtc-generic.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-hid-sensor-time.c rtc: hid-sensor-time: Constify platform_device_id 2015-06-19 20:03:20 +02:00
rtc-hym8563.c rtc: Drop owner assignment from i2c_driver 2015-09-05 13:19:06 +02:00
rtc-imxdi.c rtc: imxdi: when locked, do not fail silently 2015-06-19 20:03:21 +02:00
rtc-isl1208.c rtc: isl1208: Replace deprecated rtc_tm_to_time() 2015-06-25 01:13:42 +02:00
rtc-isl12022.c rtc: Export OF module alias information in missing drivers 2015-09-05 13:19:08 +02:00
rtc-isl12057.c rtc: Export OF module alias information in missing drivers 2015-09-05 13:19:08 +02:00
rtc-jz4740.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-lib.c rtc/lib: Provide y2038 safe rtc_tm_to_time()/rtc_time_to_tm() replacement 2014-11-21 12:00:00 -08:00
rtc-lp8788.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-lpc24xx.c rtc: add rtc-lpc24xx driver 2015-09-05 13:19:06 +02:00
rtc-lpc32xx.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-ls1x.c MIPS: Loongson: Naming style cleanup and rework 2015-06-21 21:53:59 +02:00
rtc-m41t80.c rtc: use more standard kernel logging styles 2015-04-17 09:04:02 -04:00
rtc-m41t93.c drivers/rtc/rtc-m41t93.c: remove empty function 2013-07-03 16:07:56 -07:00
rtc-m41t94.c drivers/rtc/rtc-m41t94.c: remove empty function 2013-07-03 16:07:57 -07:00
rtc-m48t35.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-m48t59.c rtc: m48t59: clean up m48t59_nvram_read()/m48t59_nvram_write() 2015-09-05 13:19:10 +02:00
rtc-m48t86.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-max6900.c rtc: ds1672, max6900, max8998: Add MODULE_DEVICE_TABLE 2015-06-25 01:13:36 +02:00
rtc-max6902.c drivers/rtc/rtc-max6902.c: remove empty function 2013-07-03 16:07:57 -07:00
rtc-max8907.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-max8925.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-max8997.c rtc: use more standard kernel logging styles 2015-04-17 09:04:02 -04:00
rtc-max8998.c rtc: ds1672, max6900, max8998: Add MODULE_DEVICE_TABLE 2015-06-25 01:13:36 +02:00
rtc-max77686.c rtc: max77686: Report platform modalias to fix module autoload 2015-06-25 01:13:37 +02:00
rtc-max77802.c rtc: max77802: Report platform modalias to fix module autoload 2015-06-25 01:13:37 +02:00
rtc-mc13xxx.c rtc: mc13xxx: fix obfuscated and wrong format string 2015-06-25 01:13:35 +02:00
rtc-mcp795.c drivers/rtc: add support for Microchip MCP795 2014-06-06 16:08:08 -07:00
rtc-moxart.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-mpc5121.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-mrst.c rtc: remove use of seq_printf return value 2015-04-15 16:35:24 -07:00
rtc-msm6242.c rtc: use more standard kernel logging styles 2015-04-17 09:04:02 -04:00
rtc-mt6397.c rtc: mt6397: implement suspend/resume function in rtc-mt6397 driver 2015-09-05 13:19:08 +02:00
rtc-mv.c rtc: mv: correct 24 hour error message 2015-06-25 01:13:45 +02:00
rtc-mxc.c rtc: mxc: add support of device tree 2015-08-05 20:03:56 +08:00
rtc-nuc900.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-omap.c drivers/rtc/rtc-omap.c: use module_platform_driver 2015-04-17 09:04:02 -04:00
rtc-opal.c rtc: opal: Enable alarms only when opal supports tpo 2015-09-05 13:19:06 +02:00
rtc-palmas.c rtc: palmas: Initialise bb_charging flag before using it 2015-06-25 01:13:40 +02:00
rtc-pcap.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-pcf2123.c rtc: use rtc_valid_tm() error code when reading date/time 2015-09-05 13:19:06 +02:00
rtc-pcf2127.c rtc: Drop owner assignment from i2c_driver 2015-09-05 13:19:06 +02:00
rtc-pcf8523.c rtc: Drop owner assignment from i2c_driver 2015-09-05 13:19:06 +02:00
rtc-pcf8563.c rtc: Drop owner assignment from i2c_driver 2015-09-05 13:19:06 +02:00
rtc-pcf8583.c rtc: Drop owner assignment from i2c_driver 2015-09-05 13:19:06 +02:00
rtc-pcf50633.c rtc: rtc-pcf50633: use devm_*() functions 2013-04-29 18:28:38 -07:00
rtc-pcf85063.c rtc: Drop owner assignment from i2c_driver 2015-09-05 13:19:06 +02:00
rtc-pl030.c drivers/rtc/rtc-pl030.c: use devm_kzalloc() instead of kmalloc() 2013-11-13 12:09:31 +09:00
rtc-pl031.c rtc: pl031: fix typo for author email 2015-09-05 13:19:08 +02:00
rtc-pm8xxx.c Merge branch 'platform/remove_owner' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux into driver-core-next 2014-11-03 19:53:56 -08:00
rtc-proc.c
rtc-ps3.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-puv3.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-pxa.c rtc: sa1100/pxa: convert to run-time register mapping 2015-09-05 19:37:16 +02:00
rtc-r9701.c rtc: rtc-r9701: use spi_set_drvdata() 2013-04-29 18:28:34 -07:00
rtc-rc5t583.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-rk808.c drivers/rtc/rtc-rk808.c: fix rtc time reading issue 2015-02-13 21:21:43 -08:00
rtc-rp5c01.c rtc: rp5c01: clean up rp5c01_nvram_read()/rp5c01_nvram_write() 2015-09-05 13:19:10 +02:00
rtc-rs5c313.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-rs5c348.c drivers/rtc/rtc-rs5c348.c: use dev_get_platdata() 2013-11-13 12:09:29 +09:00
rtc-rs5c372.c drivers/rtc/rtc-rs5c372.c: use %*ph to dump small buffers 2014-10-14 02:18:19 +02:00
rtc-rv3029c2.c drivers/rtc/rtc-rv3029c2.c: fix potential race condition 2014-04-03 16:21:24 -07:00
rtc-rx4581.c drivers/rtc/rtc-rx4581.c: remove empty function 2013-07-03 16:07:58 -07:00
rtc-rx8025.c rtc: rx8025: check time validity when necessary 2015-09-05 13:19:12 +02:00
rtc-rx8581.c rtc: Drop owner assignment from i2c_driver 2015-09-05 13:19:06 +02:00
rtc-s3c.c rtc: s3c: remove unnecessary NULL assignment 2015-09-05 13:19:13 +02:00
rtc-s3c.h rtc: s3c: make header file local 2013-04-19 13:51:25 +02:00
rtc-s5m.c rtc: s5m: fix to update ctrl register 2015-09-05 19:37:19 +02:00
rtc-s35390a.c rtc: rtc-s35390a: use devm_*() functions 2013-04-29 18:28:38 -07:00
rtc-sa1100.c rtc: sa1100/pxa: convert to run-time register mapping 2015-09-05 19:37:16 +02:00
rtc-sa1100.h rtc: sa1100/pxa: convert to run-time register mapping 2015-09-05 19:37:16 +02:00
rtc-sh.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-sirfsoc.c rtc: sirfsoc: move to regmap APIs from platform-specific APIs 2015-09-05 13:19:06 +02:00
rtc-snvs.c rtc: snvs: use syscon to access register 2015-07-15 10:15:10 +08:00
rtc-spear.c rtc: simplify use of devm_ioremap_resource 2015-06-25 01:13:40 +02:00
rtc-st-lpc.c rtc: st: Update IP layout information to include Clocksource 2015-07-23 17:07:35 +01:00
rtc-starfire.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-stk17ta8.c rtc: stk17ta8: clean up stk17ta8_nvram_read()/stk17ta8_nvram_write() 2015-09-05 13:19:10 +02:00
rtc-stmp3xxx.c rtc: stmp3xxx: use optional crystal in low power states 2015-04-17 09:03:59 -04:00
rtc-sun4v.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-sun6i.c rtc: sun6i: Add sun6i RTC driver 2014-09-19 12:39:19 +02:00
rtc-sunxi.c rtc: sunxi: Replace deprecated rtc_tm_to_time() 2015-06-25 01:13:42 +02:00
rtc-sysfs.c rtc: switch to using is_visible() to control sysfs attributes 2015-09-05 13:19:07 +02:00
rtc-tegra.c rtc: remove use of seq_printf return value 2015-04-15 16:35:24 -07:00
rtc-test.c drivers/rtc/test: Update driver to address y2038/y2106 issues 2015-04-03 08:18:24 +02:00
rtc-tile.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-tps6586x.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-tps65910.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-tps80031.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-twl.c rtc: use more standard kernel logging styles 2015-04-17 09:04:02 -04:00
rtc-tx4939.c rtc: tx4939: clean up tx4939_rtc_nvram_read()/tx4939_rtc_nvram_write() 2015-09-05 13:19:10 +02:00
rtc-v3020.c rtc: rtc-v3020: use gpio_request_array() 2015-06-25 01:13:38 +02:00
rtc-vr41xx.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-vt8500.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-wm831x.c drivers/rtc/rtc-wm831x.c: remove empty function 2013-07-03 16:07:59 -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: use sign_extend32() for sign extension 2015-04-17 09:03:59 -04:00
rtc-xgene.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-zynqmp.c rtc: add xilinx zynqmp rtc driver 2015-09-05 19:37:19 +02:00
systohc.c rtc: NTP: Add CONFIG_RTC_SYSTOHC_DEVICE for NTP synchronization 2015-06-25 01:13:42 +02:00