From: Thomas Gleixner <tglx@linutronix.de>
To: Xunlei Pang <pang.xunlei@linaro.org>
Cc: linux-kernel@vger.kernel.org, rtc-linux@googlegroups.com,
Alessandro Zummo <a.zummo@towertech.it>,
Sven Schnelle <svens@stackframe.org>,
John Stultz <john.stultz@linaro.org>,
Arnd Bergmann <arnd.bergmann@linaro.org>
Subject: Re: [RFC PATCH 3/4] rtc/lib: Provide interfaces to map between 32bit hardware and 64bit time
Date: Fri, 28 Nov 2014 00:16:56 +0100 (CET) [thread overview]
Message-ID: <alpine.DEB.2.11.1411280005500.3961@nanos> (raw)
In-Reply-To: <1417089760-26848-4-git-send-email-pang.xunlei@linaro.org>
On Thu, 27 Nov 2014, Xunlei Pang wrote:
> +/* Rtc epoch year, can be overrided by command line */
> +static unsigned int rtc_epoch = 1970;
> +time64_t rtc_epoch_secs_since_1970;
> +
> +static int __init
> +set_rtc_epoch(char *str)
One line please
> +{
> + unsigned int epoch;
> +
> + if (kstrtou32(str, 0, &epoch) != 0) {
> + printk(KERN_WARNING "Invalid setup epoch %u!\n", epoch);
Sure that makes a lot of sense to print epoch if the string conversion
failed. epoch is going to be either uninitialized stack value or 0
depending on the kstrtou32 implementation.
> + if (rtc_epoch < 1970)
> + printk(KERN_WARNING "Epoch %u is smaller than 1970!\n", epoch);
pr_warn() ....
+__setup("rtc_epoch=", set_rtc_epoch);
Not documented in Documentation/kernel-parameters.txt ...
> /*
> + * Convert seconds since rtc epoch to seconds since Unix epoch.
> + */
> +time64_t rtc_hw32_to_time64(u32 hwtime)
> +{
> + return (rtc_epoch_secs_since_1970 + hwtime);
> +}
> +EXPORT_SYMBOL_GPL(rtc_hw32_to_time64);
So we need a exported function to add a global variable and a function
argument? inline ?
> +/*
> + * Convert seconds since Unix epoch to seconds since rtc epoch.
> + */
> +int rtc_time64_to_hw32(time64_t time, u32 *hwtime)
> +{
> + /* time must be after rtc epoch */
> + if (time < rtc_epoch_secs_since_1970)
> + return -EINVAL;
> +
> + /* rtc epoch may be too small? */
> + if (time - rtc_epoch_secs_since_1970 > UINT_MAX)
> + return -EOVERFLOW;
And what's the caller supposed to do with that information?
> + *hwtime = time - rtc_epoch_secs_since_1970;
> +
> + return 0;
> +}
> +EXPORT_SYMBOL_GPL(rtc_time64_to_hw32);
How is that going to be useful w/o a mechanism to adjust the epoch
offset at runtime by any means?
Thanks,
tglx
next prev parent reply other threads:[~2014-11-27 23:16 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-27 12:02 [RFC PATCH 0/4] Add rtc 64bit epoch offset for rtc hardware that only provides 32bit time Xunlei Pang
2014-11-27 12:02 ` [RFC PATCH 1/4] rtc/mxc: Convert get_alarm_or_time()/set_alarm_or_time() to use time64_t Xunlei Pang
2014-11-27 23:02 ` Thomas Gleixner
2014-11-27 23:47 ` Arnd Bergmann
2014-11-28 15:58 ` pang.xunlei
2014-11-27 12:02 ` [RFC PATCH 2/4] rtc: Convert rtc_class_ops.set_mmss() " Xunlei Pang
2014-11-27 23:05 ` Thomas Gleixner
2014-11-27 23:23 ` Arnd Bergmann
2014-11-27 23:28 ` Thomas Gleixner
2014-11-28 16:49 ` pang.xunlei
2014-11-27 12:02 ` [RFC PATCH 3/4] rtc/lib: Provide interfaces to map between 32bit hardware and 64bit time Xunlei Pang
2014-11-27 23:16 ` Thomas Gleixner [this message]
2014-11-28 16:10 ` pang.xunlei
2014-12-01 21:12 ` Thomas Gleixner
2014-11-27 12:02 ` [RFC PATCH 4/4] rtc/imxdi: Update driver to address time issues Xunlei Pang
2014-11-27 23:24 ` Thomas Gleixner
2014-11-28 16:20 ` pang.xunlei
2014-12-01 0:13 ` Alessandro Zummo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.DEB.2.11.1411280005500.3961@nanos \
--to=tglx@linutronix.de \
--cc=a.zummo@towertech.it \
--cc=arnd.bergmann@linaro.org \
--cc=john.stultz@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pang.xunlei@linaro.org \
--cc=rtc-linux@googlegroups.com \
--cc=svens@stackframe.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox