From: Richard Cochran <richardcochran@gmail.com>
To: <netdev@vger.kernel.org>
Cc: <linux-kernel@vger.kernel.org>, Amir Vadai <amirv@mellanox.com>,
Ariel Elior <ariel.elior@qlogic.com>,
Arnd Bergmann <arnd@linaro.org>,
Baolin Wang <baolin.wang@linaro.org>,
Ben Hutchings <ben@decadent.org.uk>,
Bruce Allan <bruce.w.allan@intel.com>,
Carolyn Wyborny <carolyn.wyborny@intel.com>,
Chris Metcalf <cmetcalf@ezchip.com>,
David Miller <davem@davemloft.net>,
Frank Li <Frank.Li@freescale.com>,
Giuseppe Cavallaro <peppe.cavallaro@st.com>,
Jacob Keller <jacob.e.keller@intel.com>,
Jeff Kirsher <jeffrey.t.kirsher@intel.com>,
John Stultz <john.stultz@linaro.org>,
Luwei Zhou <b45643@freescale.com>,
Matthew Vick <matthew.vick@intel.com>,
Michael Chan <mchan@broadcom.com>,
Prashant Sreedharan <prashant@broadcom.com>,
Rayagond K <rayagond@vayavyalabs.com>,
Shradha Shah <sshah@solarflare.com>,
Solarflare linux maintainers <linux-net-drivers@solarflare.com>,
Sonic Zha
Subject: [PATCH net-next V3 16/23] ptp: sfc: convert to the 64 bit get/set time methods.
Date: Sun, 29 Mar 2015 23:12:06 +0200 [thread overview]
Message-ID: <c1055ab58d95360e34c6d59d5c6ebf5d62139a01.1427662907.git.richardcochran@gmail.com> (raw)
In-Reply-To: <cover.1427662906.git.richardcochran@gmail.com>
This patch changes the driver to use the newer API.
Depending on how the hardware represents a time value, this driver may
or may not yet be ready for the year 2038.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
---
drivers/net/ethernet/sfc/ptp.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/drivers/net/ethernet/sfc/ptp.c b/drivers/net/ethernet/sfc/ptp.c
index 6b861e3..a2e9aee 100644
--- a/drivers/net/ethernet/sfc/ptp.c
+++ b/drivers/net/ethernet/sfc/ptp.c
@@ -323,9 +323,9 @@ struct efx_ptp_data {
static int efx_phc_adjfreq(struct ptp_clock_info *ptp, s32 delta);
static int efx_phc_adjtime(struct ptp_clock_info *ptp, s64 delta);
-static int efx_phc_gettime(struct ptp_clock_info *ptp, struct timespec *ts);
+static int efx_phc_gettime(struct ptp_clock_info *ptp, struct timespec64 *ts);
static int efx_phc_settime(struct ptp_clock_info *ptp,
- const struct timespec *e_ts);
+ const struct timespec64 *e_ts);
static int efx_phc_enable(struct ptp_clock_info *ptp,
struct ptp_clock_request *request, int on);
@@ -1198,8 +1198,8 @@ static const struct ptp_clock_info efx_phc_clock_info = {
.pps = 1,
.adjfreq = efx_phc_adjfreq,
.adjtime = efx_phc_adjtime,
- .gettime = efx_phc_gettime,
- .settime = efx_phc_settime,
+ .gettime64 = efx_phc_gettime,
+ .settime64 = efx_phc_settime,
.enable = efx_phc_enable,
};
@@ -1837,7 +1837,7 @@ static int efx_phc_adjtime(struct ptp_clock_info *ptp, s64 delta)
NULL, 0, NULL);
}
-static int efx_phc_gettime(struct ptp_clock_info *ptp, struct timespec *ts)
+static int efx_phc_gettime(struct ptp_clock_info *ptp, struct timespec64 *ts)
{
struct efx_ptp_data *ptp_data = container_of(ptp,
struct efx_ptp_data,
@@ -1859,28 +1859,28 @@ static int efx_phc_gettime(struct ptp_clock_info *ptp, struct timespec *ts)
kt = ptp_data->nic_to_kernel_time(
MCDI_DWORD(outbuf, PTP_OUT_READ_NIC_TIME_MAJOR),
MCDI_DWORD(outbuf, PTP_OUT_READ_NIC_TIME_MINOR), 0);
- *ts = ktime_to_timespec(kt);
+ *ts = ktime_to_timespec64(kt);
return 0;
}
static int efx_phc_settime(struct ptp_clock_info *ptp,
- const struct timespec *e_ts)
+ const struct timespec64 *e_ts)
{
/* Get the current NIC time, efx_phc_gettime.
* Subtract from the desired time to get the offset
* call efx_phc_adjtime with the offset
*/
int rc;
- struct timespec time_now;
- struct timespec delta;
+ struct timespec64 time_now;
+ struct timespec64 delta;
rc = efx_phc_gettime(ptp, &time_now);
if (rc != 0)
return rc;
- delta = timespec_sub(*e_ts, time_now);
+ delta = timespec64_sub(*e_ts, time_now);
- rc = efx_phc_adjtime(ptp, timespec_to_ns(&delta));
+ rc = efx_phc_adjtime(ptp, timespec64_to_ns(&delta));
if (rc != 0)
return rc;
--
1.7.10.4
next prev parent reply other threads:[~2015-03-29 21:12 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-29 21:11 [PATCH net-next V3 00/23] ptp: get ready for 2038 Richard Cochran
2015-03-29 21:11 ` [PATCH net-next V3 01/23] ptp: introduce get/set time methods with explicit 64 bit seconds Richard Cochran
2015-03-29 21:11 ` [PATCH net-next V3 02/23] ptp: use the 64 bit gettime method for the SYS_OFFSET ioctl Richard Cochran
2015-03-29 21:11 ` [PATCH net-next V3 03/23] ptp: use the 64 bit get/set time methods for the posix clock Richard Cochran
2015-03-29 21:11 ` [PATCH net-next V3 04/23] ptp: blackfin: convert to the 64 bit get/set time methods Richard Cochran
2015-03-29 21:11 ` [PATCH net-next V3 05/23] ptp: xgbe: " Richard Cochran
2015-03-29 21:11 ` [PATCH net-next V3 06/23] ptp: bnx2x: " Richard Cochran
2015-03-30 21:13 ` Sony Chacko
2015-03-29 21:11 ` [PATCH net-next V3 07/23] ptp: tg3: " Richard Cochran
2015-03-29 21:11 ` [PATCH net-next V3 08/23] ptp: fec: " Richard Cochran
2015-03-29 21:11 ` [PATCH net-next V3 09/23] ptp: gianfar: " Richard Cochran
2015-03-29 21:12 ` [PATCH net-next V3 10/23] ptp: e1000e: " Richard Cochran
2015-03-31 21:48 ` Richard Cochran
2015-03-31 23:26 ` David Miller
2015-03-29 21:12 ` [PATCH net-next V3 11/23] ptp: fm10k: " Richard Cochran
2015-03-29 21:12 ` [PATCH net-next V3 12/23] ptp: i40e: " Richard Cochran
2015-03-29 21:12 ` [PATCH net-next V3 13/23] ptp: igb: " Richard Cochran
2015-03-31 21:08 ` Keller, Jacob E
2015-03-31 21:37 ` Richard Cochran
2015-04-02 0:08 ` Keller, Jacob E
2015-03-31 21:53 ` Richard Cochran
2015-04-02 0:06 ` Keller, Jacob E
2015-04-02 6:33 ` Richard Cochran
2015-03-29 21:12 ` [PATCH net-next V3 14/23] ptp: ixgbe: " Richard Cochran
2015-03-29 21:12 ` [PATCH net-next V3 15/23] ptp: mlx4: " Richard Cochran
2015-03-29 21:12 ` Richard Cochran [this message]
2015-03-29 21:12 ` [PATCH net-next V3 17/23] ptp: stmmac: " Richard Cochran
2015-03-29 21:12 ` [PATCH net-next V3 18/23] ptp: cpts: " Richard Cochran
2015-03-29 21:12 ` [PATCH net-next V3 19/23] ptp: tilegx: " Richard Cochran
2015-03-29 21:32 ` Chris Metcalf
2015-03-29 21:12 ` [PATCH net-next V3 20/23] ptp: dp83640: " Richard Cochran
2015-03-29 21:12 ` [PATCH net-next V3 21/23] ptp: ixp46x: " Richard Cochran
2015-03-29 21:12 ` [PATCH net-next V3 22/23] ptp: pch: " Richard Cochran
2015-03-29 21:12 ` [PATCH net-next V3 23/23] ptp: remove 32 bit get/set methods Richard Cochran
2015-03-31 16:01 ` [PATCH net-next V3 00/23] ptp: get ready for 2038 David Miller
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=c1055ab58d95360e34c6d59d5c6ebf5d62139a01.1427662907.git.richardcochran@gmail.com \
--to=richardcochran@gmail.com \
--cc=Frank.Li@freescale.com \
--cc=amirv@mellanox.com \
--cc=ariel.elior@qlogic.com \
--cc=arnd@linaro.org \
--cc=b45643@freescale.com \
--cc=baolin.wang@linaro.org \
--cc=ben@decadent.org.uk \
--cc=bruce.w.allan@intel.com \
--cc=carolyn.wyborny@intel.com \
--cc=cmetcalf@ezchip.com \
--cc=davem@davemloft.net \
--cc=jacob.e.keller@intel.com \
--cc=jeffrey.t.kirsher@intel.com \
--cc=john.stultz@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-net-drivers@solarflare.com \
--cc=matthew.vick@intel.com \
--cc=mchan@broadcom.com \
--cc=netdev@vger.kernel.org \
--cc=peppe.cavallaro@st.com \
--cc=prashant@broadcom.com \
--cc=rayagond@vayavyalabs.com \
--cc=sshah@solarflare.com \
/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;
as well as URLs for NNTP newsgroup(s).