Re: [PATCH v10 1/3] RTC: RK808: add RTC driver for RK808

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Wed, 10 Sep 2014 14:37:13 -0700 Doug Anderson <dianders@xxxxxxxxxxxx> wrote:

> Andrew,
> 
> On Wed, Sep 10, 2014 at 1:44 PM, Andrew Morton
> <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> > On Wed, 10 Sep 2014 09:18:04 +0800 Chris Zhong <zyw@xxxxxxxxxxxxxx> wrote:
> >
> >> Adding RTC driver for supporting RTC device present inside RK808 PMIC.
> >>
> >> ...
> >>
> >> +     ret = rtc_valid_tm(&tm);
> >> +     if (ret) {
> >> +             dev_warn(&pdev->dev, "invalid date/time and init time\n");
> >> +             rk808_rtc_set_time(&pdev->dev, &tm_def);
> >> +     }
> >
> > This is somewhat unusual.  Most drivers will emit a warning and give up
> > when they find the time is wrong.  Why is this driver different and is
> > this desirable behaviour?
> 
> When you say "give up", what does that mean?  I assume the driver
> should keep initting, right?  Then the user can go in and set a time
> later...

I think I was misreading current drivers a bit.  rtc-cmos.c will go in
and set a dummy time but regular low-level drivers don't sanity-check
the time at all at setup time.

> 
> I did test things with just removing this chunk of code.  You get some
> yells at bootup if you put a bogus time in there:
> 
> [    2.987590] rk808-rtc rk808-rtc: invalid date/time and init time
> [    3.013148] rk808-rtc rk808-rtc: rtc core: registered rk808-rtc as rtc0
> [    4.586115] rk808-rtc rk808-rtc: hctosys: invalid date/time
> 
> ...but if you later set a valid time then everything is fine.  That
> seems reasonable behavior to me, so I guess we could just remove this
> whole chunk?  It appears that after a normal bootup the date/time is
> something valid.

hm.  Having an invalid time is perhaps better than having a valid but
incorrect time.

When one sees one driver doing something differently from the others
one has to wonder "why" and "which one is better".  If setting a dummy
time is better then all drivers should do it, and I expect this could
be done by rtc core at registration time.

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux