[RFC 5/5] commands: add hwclock
Antony Pavlov
antonynpavlov at gmail.com
Thu Jul 10 22:59:36 PDT 2014
On Thu, 10 Jul 2014 23:45:47 +0200
Sascha Hauer <s.hauer at pengutronix.de> wrote:
> On Thu, Jul 10, 2014 at 12:33:19PM +0400, Antony Pavlov wrote:
> > Signed-off-by: Antony Pavlov <antonynpavlov at gmail.com>
> > ---
> > commands/Kconfig | 8 ++++++++
> > commands/Makefile | 1 +
> > commands/hwclock.c | 37 +++++++++++++++++++++++++++++++++++++
> > 3 files changed, 46 insertions(+)
> >
> > diff --git a/commands/Kconfig b/commands/Kconfig
> > index 61816f5..a594f7c 100644
> > --- a/commands/Kconfig
> > +++ b/commands/Kconfig
> > @@ -1691,6 +1691,14 @@ config CMD_GPIO
> >
> > Usage: gpio_set_value GPIO VALUE
> >
> > +config CMD_HWCLOCK
> > + bool
> > + depends on RTC_CLASS
> > + prompt "hwclock command"
> > + default y
> > + help
> > + The lspci command allows to query or set the hardware clock (RTC).
>
> lspci? ;)
No!
copy & paste!
> > +static int do_hwclock(int argc, char *argv[])
> > +{
> > + struct rtc_device *r;
> > + struct rtc_time tm;
> > + char *rtc_name;
> > +
> > + rtc_name = "rtc0";
> > +
> > + if (argc > 1)
> > + rtc_name = argv[1];
> > +
> > + r = rtc_lookup(rtc_name);
> > + if (IS_ERR(r))
> > + return PTR_ERR(r);
> > +
> > + rtc_read_time(r, &tm);
> > +
> > + printf("%02d:%02d:%02d %02d-%02d-%04d\n",
> > + tm.tm_hour, tm.tm_min, tm.tm_sec,
> > + tm.tm_mday, tm.tm_mon, tm.tm_year);
> > +
> > + return 0;
> > +}
> > +
> > +BAREBOX_CMD_START(hwclock)
> > + .cmd = do_hwclock,
> > + BAREBOX_CMD_DESC("query or set the hardware clock (RTC)")
>
> This initial version doesn't allow to set the time.
I have no idea about simple and elegant solution for setting clock :(
My hwclock man page show me an example:
hwclock --set --date="2011-08-14 16:45:05"
I'll try to find some ready-to-use strptime-like function (e.g. in uClibc).
Also there is no epoch handling.
May be it's better to drop hwclock clock setting in the inital rtc support series?
--
Best regards,
Antony Pavlov
More information about the barebox
mailing list