rtc: s5m: Make register configuration per S2MPS device to remove exceptions
authorKrzysztof Kozlowski <k.kozlowski@samsung.com>
Wed, 30 Dec 2015 04:47:27 +0000 (13:47 +0900)
committerAlexandre Belloni <alexandre.belloni@free-electrons.com>
Mon, 11 Jan 2016 19:21:55 +0000 (20:21 +0100)
commit8ae83b6f76fc74eb6535b9d331a3310a59c32f84
tree6cd50d77a623198ebd2f37f87aa489cb279bb808
parent67a6025a77be7c6bcb4baeb9424509fcb4ca1e32
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>
drivers/rtc/rtc-s5m.c
include/linux/mfd/samsung/rtc.h