From: Arnd Bergmann <arnd@arndb.de>
To: netdev@vger.kernel.org
Cc: y2038@lists.linaro.org, linux-kernel@vger.kernel.org,
"David S. Miller" <davem@davemloft.net>,
Arnd Bergmann <arnd@arndb.de>,
Richard Cochran <richardcochran@gmail.com>,
Fugang Duan <b38611@freescale.com>,
Luwei Zhou <b45643@freescale.com>,
Frank Li <Frank.Li@freescale.com>
Subject: [PATCH 01/12] net: fec: avoid timespec use
Date: Wed, 30 Sep 2015 13:26:31 +0200 [thread overview]
Message-ID: <1443612402-3000775-2-git-send-email-arnd@arndb.de> (raw)
In-Reply-To: <1443612402-3000775-1-git-send-email-arnd@arndb.de>
The fec_ptp_enable_pps uses an open-coded implementation of ns_to_timespec,
which will be removed eventually as it is not y2038-safe on 32-bit
architectures. Two more instances of the same code in this file were
already converted to use the safe ns_to_timespec64 in commit 6630514fcee
("ptp: fec: use helpers for converting ns to timespec"), this changes
the last one as well.
The seconds portion here is actually unused and we could just remove the
timespec variable, but using ns_to_timespec64 can still be better as the
implementation can be hand-optimized in the future.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Richard Cochran <richardcochran@gmail.com>
Cc: Fugang Duan <b38611@freescale.com>
Cc: Luwei Zhou <b45643@freescale.com>
Cc: Frank Li <Frank.Li@freescale.com>
---
drivers/net/ethernet/freescale/fec_ptp.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/freescale/fec_ptp.c b/drivers/net/ethernet/freescale/fec_ptp.c
index 1543cf0e8ef6..f9e74461bdc0 100644
--- a/drivers/net/ethernet/freescale/fec_ptp.c
+++ b/drivers/net/ethernet/freescale/fec_ptp.c
@@ -112,9 +112,8 @@ static int fec_ptp_enable_pps(struct fec_enet_private *fep, uint enable)
unsigned long flags;
u32 val, tempval;
int inc;
- struct timespec ts;
+ struct timespec64 ts;
u64 ns;
- u32 remainder;
val = 0;
if (!(fep->hwts_tx_en || fep->hwts_rx_en)) {
@@ -163,8 +162,7 @@ static int fec_ptp_enable_pps(struct fec_enet_private *fep, uint enable)
tempval = readl(fep->hwp + FEC_ATIME);
/* Convert the ptp local counter to 1588 timestamp */
ns = timecounter_cyc2time(&fep->tc, tempval);
- ts.tv_sec = div_u64_rem(ns, 1000000000ULL, &remainder);
- ts.tv_nsec = remainder;
+ ts = ns_to_timespec64(ns);
/* The tempval is less than 3 seconds, and so val is less than
* 4 seconds. No overflow for 32bit calculation.
--
2.1.0.rc2
next prev parent reply other threads:[~2015-09-30 11:27 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-30 11:26 [PATCH 00/12] net: assorted y2038 changes Arnd Bergmann
2015-09-30 11:26 ` Arnd Bergmann [this message]
2015-10-01 19:08 ` [PATCH 01/12] net: fec: avoid timespec use Richard Cochran
2015-09-30 11:26 ` [PATCH 02/12] net: stmmac: avoid using timespec Arnd Bergmann
2015-10-01 19:08 ` Richard Cochran
2015-09-30 11:26 ` [PATCH 03/12] net: igb: " Arnd Bergmann
2015-10-01 19:17 ` Richard Cochran
2015-10-01 20:01 ` Arnd Bergmann
2015-10-02 7:47 ` Richard Cochran
2015-09-30 11:26 ` [PATCH 04/12] mwifiex: use ktime_get_real for timestamping Arnd Bergmann
2015-10-09 11:36 ` Amitkumar Karwar
2015-09-30 11:26 ` [PATCH 05/12] mwifiex: avoid gettimeofday in ba_threshold setting Arnd Bergmann
2015-10-09 11:35 ` Amitkumar Karwar
2015-09-30 11:26 ` [PATCH 06/12] mac80211: use ktime_get_seconds Arnd Bergmann
2015-09-30 11:26 ` [PATCH 07/12] atm: hide 'struct zatm_t_hist' Arnd Bergmann
2015-09-30 15:24 ` Charles (Chas) Williams
2015-09-30 15:31 ` Arnd Bergmann
2015-09-30 15:32 ` [PATCH v2] atm: remove " Arnd Bergmann
2015-09-30 11:26 ` [PATCH 08/12] nfnetlink: use y2038 safe timestamp Arnd Bergmann
2015-10-02 12:53 ` Pablo Neira Ayuso
2015-10-02 21:23 ` Arnd Bergmann
2015-09-30 11:26 ` [PATCH 09/12] ipv6: use ktime_t for internal timestamps Arnd Bergmann
2015-09-30 11:26 ` [PATCH 10/12] net: sctp: avoid incorrect time_t use Arnd Bergmann
2015-09-30 13:57 ` Neil Horman
2015-09-30 14:15 ` Marcelo Ricardo Leitner
2015-09-30 14:19 ` Neil Horman
2015-09-30 14:28 ` Marcelo Ricardo Leitner
2015-09-30 11:26 ` [PATCH 11/12] [RFC] ipv4: avoid timespec in timestamp computation Arnd Bergmann
2015-09-30 11:55 ` kbuild test robot
2015-09-30 12:39 ` [Y2038] " Arnd Bergmann
2015-09-30 12:58 ` [RFC v2] " Arnd Bergmann
2015-09-30 12:15 ` [PATCH 11/12] [RFC] " kbuild test robot
2015-09-30 12:15 ` [RFC PATCH] ipv4: ktime_get_ms_of_day() can be static kbuild test robot
2015-09-30 11:26 ` [PATCH 12/12] [RFC] can: avoid using timeval for uapi Arnd Bergmann
2015-10-05 18:51 ` Oliver Hartkopp
2015-10-06 8:32 ` Arnd Bergmann
2015-10-06 9:05 ` Marc Kleine-Budde
2015-10-06 9:18 ` Arnd Bergmann
2015-10-06 9:37 ` Marc Kleine-Budde
2015-10-05 10:17 ` [PATCH 00/12] net: assorted y2038 changes 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=1443612402-3000775-2-git-send-email-arnd@arndb.de \
--to=arnd@arndb.de \
--cc=Frank.Li@freescale.com \
--cc=b38611@freescale.com \
--cc=b45643@freescale.com \
--cc=davem@davemloft.net \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=richardcochran@gmail.com \
--cc=y2038@lists.linaro.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
Powered by JetHome