[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