[rtc-linux] Re: [PATCH v2 0/3] rtc: make st-lpc robust against y2038/2106 bug

2017-07-04 Thread Benjamin Gaignard
2017-06-24 0:34 GMT+02:00 Shuah Khan :
> Hi Alexandre,
>
> On 06/23/2017 04:09 PM, Alexandre Belloni wrote:
>> On 23/06/2017 at 13:40:41 -0600, Shuah Khan wrote:
>>> On 06/19/2017 03:36 AM, Benjamin Gaignard wrote:
 On 32bits platforms "struct timeval" or "time_t" are using u32 to code the
 date, this cause tools like "date" or "hwclock" failed even before setting
 the RTC device if the date is superior to year 2038 (or 2106).

 To avoid this problem I add one RTC test file which directly use RTC ioctl
 to set and read RTC time and alarm values.
 rtctest_setdate allow to set any date/time given in the command line.

 On this version 2 I add check of problematics years in rtctest like suggest
 by Alexandre.

 Finally that had allowed me to test and fix rtc-st-lpc driver.

 Benjamin Gaignard (3):
   tools: timer: add rtctest_setdate
   tool: timer: rtctest add check for problematic dates
   rtc: st-lpc: make it robust against y2038/2106 bug

  drivers/rtc/rtc-st-lpc.c |  19 ++--
  tools/testing/selftests/timers/Makefile  |   2 +-
  tools/testing/selftests/timers/rtctest.c | 121 
 ++-
  tools/testing/selftests/timers/rtctest_setdate.c |  86 
  4 files changed, 212 insertions(+), 16 deletions(-)
  create mode 100644 tools/testing/selftests/timers/rtctest_setdate.c

>>>
>>> Hi Thomas/John,
>>>
>>> I can take the first two patches in this series through linux-kselftest
>>> with your or John's Ack. Please review and let me know one way or the
>>> other.

>> Well, I'm the maintainer for rtctest.c and I'll make sure to also be the
>> one for rtctest_setdate.c>
>>> The third one is a rtc driver patch. Please let me know how do you want
>>> to handle this series soon we can get this into 4.13-rc1.
>>>
>>
>> I'll take the three patches but I still have comment I didn't have time
>> to give yet.

Alexandre, may you had time to give me feedback on this ?

Regards,
Benjamin

>>
>>
>
> Okay. I will drop this off my radar then :)
>
> thanks,
> -- Shuah
>

-- 
You received this message because you are subscribed to "rtc-linux".
Membership options at http://groups.google.com/group/rtc-linux .
Please read http://groups.google.com/group/rtc-linux/web/checklist
before submitting a driver.
--- 
You received this message because you are subscribed to the Google Groups 
"rtc-linux" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rtc-linux+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[rtc-linux] Re: [PATCH 1/2] RTC: s35390a: handle invalid RTC time

2017-07-04 Thread Alexandre Belloni
On 04/07/2017 at 10:55:52 +0200, Fabien Lahoudere wrote:
> On Thu, 2017-06-29 at 09:56 +0200, Alexandre Belloni wrote:
> > On 26/06/2017 at 11:51:13 +0200, Fabien Lahoudere wrote:
> > > > Actually, after reading the datasheet, I realize it is only POC that is
> > > > reset to 0 after reading so isinvalid is not needed. Just read status1
> > > > and look for BLD instead of caching it.
> > > > 
> > > 
> > > isinvalid is also used in s35390a_set_datetime. So if I remove it how can 
> > > I detect that time
> > > setting
> > > failed?
> > > 
> > 
> > If it fails, simply don't reset BLD so it is still set when reading the
> > time.
> > 
> 
> In BLD section, datasheet says "When this flag is "1", be sure to initialize."
> So I think we need those flags.
> 

No, you don't. If BLD is set, return -EINVAL in read_time, initialize
the RTC in set_time and that is it. You'll always know when power failed
and you'll always initialize at the correct time (i.e before really
caring about the date/time).

> > > > I think it is probably worth separating s35390a_reset() into two
> > > > functions. One that does the initialization and another one that reads
> > > > status1 and immediately doest the initialization when POC is set. If BLD
> > > > is set, then we can wait for set_time to happen before initializing.
> > > > 
> > 
> > 

-- 
Alexandre Belloni, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

-- 
You received this message because you are subscribed to "rtc-linux".
Membership options at http://groups.google.com/group/rtc-linux .
Please read http://groups.google.com/group/rtc-linux/web/checklist
before submitting a driver.
--- 
You received this message because you are subscribed to the Google Groups 
"rtc-linux" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rtc-linux+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[rtc-linux] Re: [PATCH 1/2] RTC: s35390a: handle invalid RTC time

2017-07-04 Thread Fabien Lahoudere
On Thu, 2017-06-29 at 09:56 +0200, Alexandre Belloni wrote:
> On 26/06/2017 at 11:51:13 +0200, Fabien Lahoudere wrote:
> > > Actually, after reading the datasheet, I realize it is only POC that is
> > > reset to 0 after reading so isinvalid is not needed. Just read status1
> > > and look for BLD instead of caching it.
> > > 
> > 
> > isinvalid is also used in s35390a_set_datetime. So if I remove it how can I 
> > detect that time
> > setting
> > failed?
> > 
> 
> If it fails, simply don't reset BLD so it is still set when reading the
> time.
> 

In BLD section, datasheet says "When this flag is "1", be sure to initialize."
So I think we need those flags.

> > > I think it is probably worth separating s35390a_reset() into two
> > > functions. One that does the initialization and another one that reads
> > > status1 and immediately doest the initialization when POC is set. If BLD
> > > is set, then we can wait for set_time to happen before initializing.
> > > 
> 
> 

-- 
You received this message because you are subscribed to "rtc-linux".
Membership options at http://groups.google.com/group/rtc-linux .
Please read http://groups.google.com/group/rtc-linux/web/checklist
before submitting a driver.
--- 
You received this message because you are subscribed to the Google Groups 
"rtc-linux" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rtc-linux+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.