rtc: rv8803: Always apply the I²C workaround
authorBenoît Thébaudeau <benoit@wsystem.com>
Thu, 21 Jul 2016 10:41:30 +0000 (12:41 +0200)
committerAlexandre Belloni <alexandre.belloni@free-electrons.com>
Thu, 28 Jul 2016 07:59:39 +0000 (09:59 +0200)
commitd522649e2686ec98eb03078583736fdcb4ef8880
tree700f67442f50a1d09af1dd8712110faa7451e5ae
parenta1e98e09704ad247bff3c0de1bef6a73dc88b6d0
rtc: rv8803: Always apply the I²C workaround

The I²C NACK issue of the RV-8803 may occur after any I²C START
condition, depending on the timings. Consequently, the workaround must
be applied for all the I²C transfers.

This commit abstracts the I²C transfer code into register access
functions. This avoids duplicating the I²C workaround everywhere. This
also avoids the duplication of the code handling the return value of
i2c_smbus_read_i2c_block_data(). Error messages are issued in case of
definitive register access failures (if the workaround fails). This
change also makes the I²C transfer return value checks consistent.

Signed-off-by: Benoît Thébaudeau <benoit@wsystem.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
drivers/rtc/rtc-rv8803.c