summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/freescale/gianfar_ptp.c
diff options
context:
space:
mode:
authorRichard Cochran <richardcochran@gmail.com>2015-03-31 23:08:10 +0200
committerDavid S. Miller <davem@davemloft.net>2015-03-31 17:19:18 -0400
commit3359e7c2e904eac4e76d5b8b5e9390a622863df8 (patch)
tree4062de1ce9f3858f2c1346661116a9c10a4a360c /drivers/net/ethernet/freescale/gianfar_ptp.c
parentf7dcdefe362c06a36483679defb116dda02177e1 (diff)
downloadlinux-3359e7c2e904eac4e76d5b8b5e9390a622863df8.tar.bz2
ptp: gianfar: use helpers for converting ns to timespec.
This patch changes the driver to use ns_to_timespec64() and timespec64_to_ns() instead of open coding the same logic. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/freescale/gianfar_ptp.c')
-rw-r--r--drivers/net/ethernet/freescale/gianfar_ptp.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/net/ethernet/freescale/gianfar_ptp.c b/drivers/net/ethernet/freescale/gianfar_ptp.c
index 04265a7275e5..8e3cd77aa347 100644
--- a/drivers/net/ethernet/freescale/gianfar_ptp.c
+++ b/drivers/net/ethernet/freescale/gianfar_ptp.c
@@ -326,7 +326,6 @@ static int ptp_gianfar_gettime(struct ptp_clock_info *ptp,
struct timespec64 *ts)
{
u64 ns;
- u32 remainder;
unsigned long flags;
struct etsects *etsects = container_of(ptp, struct etsects, caps);
@@ -336,8 +335,8 @@ static int ptp_gianfar_gettime(struct ptp_clock_info *ptp,
spin_unlock_irqrestore(&etsects->lock, flags);
- ts->tv_sec = div_u64_rem(ns, 1000000000, &remainder);
- ts->tv_nsec = remainder;
+ *ts = ns_to_timespec64(ns);
+
return 0;
}
@@ -348,8 +347,7 @@ static int ptp_gianfar_settime(struct ptp_clock_info *ptp,
unsigned long flags;
struct etsects *etsects = container_of(ptp, struct etsects, caps);
- ns = ts->tv_sec * 1000000000ULL;
- ns += ts->tv_nsec;
+ ns = timespec64_to_ns(ts);
spin_lock_irqsave(&etsects->lock, flags);