Messages in this thread | | | Date | Tue, 1 Dec 2015 22:04:17 +0100 | From | Alexandre Belloni <> | Subject | Re: [PATCH 6/9] rtc-pcf2123: avoid resetting the clock if possible |
| |
On 01/12/2015 at 12:23:51 -0800, Joshua Clayton wrote : > On Wed, 25 Nov 2015 00:25:12 +0100 > Alexandre Belloni <alexandre.belloni@free-electrons.com> wrote: > > > On 04/11/2015 at 07:36:37 -0800, Joshua Clayton wrote : > > > + ret = pcf2123_rtc_read_time(dev, &tm); > > > + if (ret < 0) > > > + return false; > > > + > > > + if (rtc_valid_tm(&tm) < 0) { > > > + dev_err(dev, "retrieved date/time is not > > > valid.\n"); > > > + return false; > > > + } > > > + > > > > I would remove that test as basically, the date/time will only be > > valid when OSC_HAS_STOPPED is not set. > > > OSC_HAS_STOPPED really only protects us in case everything else > looks good, but we've lost power. > There are other reasons to check for a valid time. > Specifically, if there is no communication with the device, the spi > operation will succeed and return all zeros or all ones. > Since either of these results in an invalid time, it is a nice way > to probe whether we really have a pcf2123 compatible device. > > I don't think I should remove this test, but I can add a comment
OK but then pcf2123_rtc_read_time actually returns rtc_valid_tm(tm) ;)
The proper course of action is probably to do the OSC_HAS_STOPPED check in pcf2123_rtc_read_time then you don't even need pcf2123_time_valid().
-- Alexandre Belloni, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
| |