linux/drivers/rtc
Krzysztof Kozlowski 8ae83b6f76 rtc: s5m: Make register configuration per S2MPS device to remove exceptions
Before updating time and alarm the driver must set appropriate mask in
UDR register. For that purpose the driver uses common register
configuration and a lot of exceptions per device in the code. The
exceptions are not obvious, for example except the change in the logic
sometimes the fields are swapped (WUDR and AUDR between S2MPS14 and
S2MPS15). This leads to quite complicated code.

Try to make it more obvious by:
1. Documenting the UDR masks for devices and operations.
2. Adding fields in register configuration structure for each operation
   (read time, write time and alarm).
3. Splitting the configuration per S2MPS13, S2MPS14 and S2MPS15 thus
   removing exceptions for them.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>
Tested-by: Alim Akhtar <alim.akhtar@samsung.com>
Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2016-01-11 20:21:55 +01: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 Epson RX8010SJ RTC driver 2016-01-11 20:19:59 +01:00
Makefile rtc: Add Epson RX8010SJ RTC driver 2016-01-11 20:19:59 +01: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-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: remove misuse of IRQF_NO_SUSPEND flag 2015-11-08 14:12:25 +01:00
rtc-ab-b5ze-s3.c rtc: Export OF module alias information in missing drivers 2015-09-05 13:19:08 +02:00
rtc-abx80x.c rtc: abx80x: add alarm support 2016-01-11 20:20:01 +01:00
rtc-armada38x.c rtc: Fix module autoload for OF platform drivers 2015-09-05 19:37:22 +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: clear RTC alarm status flag prior to suspending 2015-11-08 14:12:28 +01: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: Fix module autoload for OF platform drivers 2015-09-05 19:37:22 +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: avoid writing undefined data to rtc 2016-01-11 20:19:57 +01:00
rtc-davinci.c rtc: davinci: remove incorrect reference to probe function 2015-11-08 14:12:29 +01: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: use %ph for short hex dumps 2016-01-11 20:19:58 +01:00
rtc-ds1307.c rtc: use %ph for short hex dumps 2016-01-11 20:19:58 +01:00
rtc-ds1343.c RTC for 4.4 2015-11-10 10:01:21 -08:00
rtc-ds1347.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
rtc-ds1374.c rtc: ds1374: Remove unused variable 2015-09-05 19:37:22 +02:00
rtc-ds1390.c RTC for 4.4 2015-11-10 10:01:21 -08: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: don't try to micromanage sysfs output size 2016-01-11 20:19:58 +01: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 spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09: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: add efi_procfs in efi_rtc_ops 2016-01-11 20:19:55 +01: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: Remove unnecessary platform_set_drvdata() 2016-01-11 20:19:56 +01: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: fix spelling mistake in warning message 2016-01-11 20:19:58 +01:00
rtc-isl1208.c rtc: isl1208: Pass the IRQF_ONESHOT flag 2015-11-08 14:12:30 +01: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: isl12057: enable support for the standard "wakeup-source" property 2015-11-08 14:12:30 +01: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: lpc32xx: remove irq > NR_IRQS check from probe() 2016-01-11 20:19:59 +01: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 spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
rtc-m41t94.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09: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 spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09: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: Fix module autoload for rtc-{ab8500,max8997,s5m} drivers 2015-09-05 19:37:21 +02: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 spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
rtc-moxart.c rtc: Fix module autoload for OF platform drivers 2015-09-05 19:37:22 +02:00
rtc-mpc5121.c rtc: Fix module autoload for OF platform drivers 2015-09-05 19:37:22 +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: Fix module autoload for OF platform drivers 2015-09-05 19:37:22 +02:00
rtc-mv.c rtc: Fix module autoload for OF platform drivers 2015-09-05 19:37:22 +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 rtc: omap: Add external clock enabling support 2015-09-05 19:37:21 +02:00
rtc-opal.c rtc: opal: enable support for the stardard "wakeup-source" property 2015-11-08 14:12:30 +01: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 spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
rtc-pcf2127.c rtc: pcf2127: remove useless driver version 2015-11-08 14:12:28 +01:00
rtc-pcf8523.c rtc: pcf8523: refuse to write dates later than 2099 2016-01-11 20:19:54 +01:00
rtc-pcf8563.c rtc: pcf8563: add CLKOUT to common clock framework 2015-11-08 14:12:29 +01:00
rtc-pcf8583.c rtc: Drop owner assignment from i2c_driver 2015-09-05 13:19:06 +02:00
rtc-pcf50633.c
rtc-pcf85063.c rtc: pcf85063: return an error when date is invalid 2015-11-08 14:12:26 +01: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: remove misuse of IRQF_NO_SUSPEND flag 2015-11-08 14:12:24 +01: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: fix module reference count in rtc-proc 2016-01-11 20:19:55 +01:00
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 spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
rtc-rc5t583.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-rk808.c rtc: rk808: Compensate for Rockchip calendar deviation on November 31st 2015-12-20 13:39:00 +01: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 spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +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-rv8803.c rtc: rv8803: Extend compatibility with the rx8900 2016-01-11 20:20:00 +01:00
rtc-rx4581.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
rtc-rx8010.c rtc: Add Epson RX8010SJ RTC driver 2016-01-11 20:19:59 +01:00
rtc-rx8025.c rtc: rx8025: remove unnecessary braces 2015-11-08 14:12:25 +01:00
rtc-rx8581.c rtc: Drop owner assignment from i2c_driver 2015-09-05 13:19:06 +02:00
rtc-s3c.c rtc: s3c: Set year, month, day value for setting alarm 2015-11-08 14:12:31 +01:00
rtc-s3c.h
rtc-s5m.c rtc: s5m: Make register configuration per S2MPS device to remove exceptions 2016-01-11 20:21:55 +01:00
rtc-s35390a.c
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: unify register access macros 2015-11-08 14:12:27 +01: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: use of_device_get_match_data 2016-01-11 20:19:57 +01:00
rtc-sysfs.c rtc: Replace simple_strtoul by kstrtoul 2016-01-11 20:20:02 +01: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: v3020: constify v3020_chip_ops structures 2016-01-11 20:20:00 +01:00
rtc-vr41xx.c rtc: drop owner assignment from platform_drivers 2014-10-20 16:21:31 +02:00
rtc-vt8500.c rtc: Fix module autoload for OF platform drivers 2015-09-05 19:37:22 +02:00
rtc-wm831x.c
rtc-wm8350.c
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