All of lore.kernel.org
 help / color / mirror / Atom feed
From: Baolin Wang <baolin.wang@linaro.org>
To: richardcochran@gmail.com
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	john.stultz@linaro.com, tglx@linutronix.de, arnd@linaro.org,
	baolin.wang@linaro.org
Subject: [PATCH 2/4] ptp/clcok:Introduce the setktime/getktime interfaces with "ktime_t" type
Date: Thu, 19 Mar 2015 13:45:07 +0800	[thread overview]
Message-ID: <1426743909-24335-3-git-send-email-baolin.wang@linaro.org> (raw)
In-Reply-To: <1426743909-24335-1-git-send-email-baolin.wang@linaro.org>

This patch introduces another two options to get/set time with "ktime_t"
type in ptp clock operation.

Original code will set/get time through the settime/gettime interfaces
with "timespec" type, that will cause break issue in year 2038. And now
introducing the new setktime/getktime interfaces with "ktime_t" type to
use firstly.

Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
---
 drivers/ptp/ptp_clock.c |   20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/drivers/ptp/ptp_clock.c b/drivers/ptp/ptp_clock.c
index 296b0ec..46425ad 100644
--- a/drivers/ptp/ptp_clock.c
+++ b/drivers/ptp/ptp_clock.c
@@ -106,14 +106,30 @@ static int ptp_clock_getres(struct posix_clock *pc, struct timespec *tp)
 
 static int ptp_clock_settime(struct posix_clock *pc, const struct timespec *tp)
 {
+	ktime_t kt;
 	struct ptp_clock *ptp = container_of(pc, struct ptp_clock, clock);
-	return ptp->info->settime(ptp->info, tp);
+
+	if (ptp->info->setktime) {
+		kt = timespec_to_ktime(*tp);
+		return ptp->info->setktime(ptp->info, kt);
+	} else {
+		return ptp->info->settime(ptp->info, tp);
+	}
 }
 
 static int ptp_clock_gettime(struct posix_clock *pc, struct timespec *tp)
 {
+	ktime_t kt;
+	int ret;
 	struct ptp_clock *ptp = container_of(pc, struct ptp_clock, clock);
-	return ptp->info->gettime(ptp->info, tp);
+
+	if (ptp->info->getktime) {
+		ret = ptp->info->getktime(ptp->info, &kt);
+		*tp = ktime_to_timespec(kt);
+		return ret;
+	} else {
+		return ptp->info->gettime(ptp->info, tp);
+	}
 }
 
 static int ptp_clock_adjtime(struct posix_clock *pc, struct timex *tx)
-- 
1.7.9.5


  parent reply	other threads:[~2015-03-19  5:46 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-19  5:45 [PATCH 0/4] Introduce another options to set/get time with "ktime_t" type Baolin Wang
2015-03-19  5:45 ` [PATCH 1/4] ptp/chardev:Introduce another option to get/set time in ptp_clock_info structure Baolin Wang
2015-03-19  7:48   ` Richard Cochran
2015-03-19  5:45 ` Baolin Wang [this message]
2015-03-19  7:54   ` [PATCH 2/4] ptp/clcok:Introduce the setktime/getktime interfaces with "ktime_t" type Richard Cochran
     [not found]     ` <CAMz4kuKyDFCqd-LfoSKJf+tkXdzzLwtPJdp-nF6NbKU8W5HHpQ@mail.gmail.com>
2015-03-20  6:26       ` Richard Cochran
2015-03-20 13:43         ` Arnd Bergmann
2015-03-20 16:49           ` Richard Cochran
2015-03-21  1:16             ` Arnd Bergmann
2015-03-21  7:24               ` Richard Cochran
2015-03-21 16:52                 ` Richard Cochran
2015-03-22  2:47                 ` Arnd Bergmann
2015-03-21  9:21             ` Richard Cochran
2015-03-19  5:45 ` [PATCH 3/4] ptp/pch:Replace timespec with ktime_t in ptp_pch.c Baolin Wang
2015-03-19  5:45 ` [PATCH 4/4] ptp/ixp46x:Replace timespec with ktime_t in ptp_ixp46x.c Baolin Wang

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=1426743909-24335-3-git-send-email-baolin.wang@linaro.org \
    --to=baolin.wang@linaro.org \
    --cc=arnd@linaro.org \
    --cc=john.stultz@linaro.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=richardcochran@gmail.com \
    --cc=tglx@linutronix.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.