ptp: gianfar: use helpers for converting ns to timespec.
authorRichard Cochran <richardcochran@gmail.com>
Tue, 31 Mar 2015 21:08:10 +0000 (23:08 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 31 Mar 2015 21:19:18 +0000 (17:19 -0400)
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>
drivers/net/ethernet/freescale/gianfar_ptp.c

index 04265a7275e5b1875758931fb542a3b3370692b4..8e3cd77aa347a4136d10e25a934ecc335b0b9301 100644 (file)
@@ -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);