From: Chris Zhong Date: Fri, 13 Feb 2015 22:40:54 +0000 (-0800) Subject: drivers/rtc/rtc-rk808.c: fix rtc time reading issue X-Git-Tag: omap-for-v4.1/prcm-dts-mfd-syscon-fix~91^2~8 X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c412c6034aaf38ff718296f3b77cb8e76b541985;p=pandora-kernel.git drivers/rtc/rtc-rk808.c: fix rtc time reading issue After we set the GET_TIME bit, the rtc time can't be read immediately. We should wait up to 31.25 us, about one cycle of 32khz. Otherwise reading RTC time will return a old time. If we clear the GET_TIME bit after setting, the time of i2c transfer is certainly more than 31.25us. Doug said: : I think we are safe. At 400kHz (the max speed of this part) each bit can : be transferred no faster than 2.5us. In order to do a valid i2c : transaction we need to _at least_ write the address of the device and the : data onto the bus, which is 16 bits. 16 * 2.5us = 40us. That's above the : 31.25us [akpm@linux-foundation.org: tweak comment per review discussion] Signed-off-by: Chris Zhong Reviewed-by: Doug Anderson Cc: Sonny Rao Cc: Heiko Stübner Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- Reading git-diff-tree failed