ptp: fm10k: convert to the 64 bit get/set time methods.
authorRichard Cochran <richardcochran@gmail.com>
Sun, 29 Mar 2015 21:12:01 +0000 (23:12 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 31 Mar 2015 16:01:17 +0000 (12:01 -0400)
The device appears to use a 64 bit nanoseconds register, and so with
this patch the driver should be ready for the year 2038.

Compile tested only.

Signed-off-by: Richard Cochran <richardcochran@gmail.com>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/intel/fm10k/fm10k_ptp.c

index d966044e017af043fdc24770d4d642700949102b..02008e976d186f754470340089f344e781e9bb04 100644 (file)
@@ -285,7 +285,7 @@ static int fm10k_ptp_adjtime(struct ptp_clock_info *ptp, s64 delta)
        return 0;
 }
 
-static int fm10k_ptp_gettime(struct ptp_clock_info *ptp, struct timespec *ts)
+static int fm10k_ptp_gettime(struct ptp_clock_info *ptp, struct timespec64 *ts)
 {
        struct fm10k_intfc *interface;
        unsigned long flags;
@@ -297,17 +297,17 @@ static int fm10k_ptp_gettime(struct ptp_clock_info *ptp, struct timespec *ts)
        now = fm10k_systime_read(interface) + interface->ptp_adjust;
        read_unlock_irqrestore(&interface->systime_lock, flags);
 
-       *ts = ns_to_timespec(now);
+       *ts = ns_to_timespec64(now);
 
        return 0;
 }
 
 static int fm10k_ptp_settime(struct ptp_clock_info *ptp,
-                            const struct timespec *ts)
+                            const struct timespec64 *ts)
 {
        struct fm10k_intfc *interface;
        unsigned long flags;
-       u64 ns = timespec_to_ns(ts);
+       u64 ns = timespec64_to_ns(ts);
 
        interface = container_of(ptp, struct fm10k_intfc, ptp_caps);
 
@@ -419,8 +419,8 @@ void fm10k_ptp_register(struct fm10k_intfc *interface)
        ptp_caps->max_adj       = 976562;
        ptp_caps->adjfreq       = fm10k_ptp_adjfreq;
        ptp_caps->adjtime       = fm10k_ptp_adjtime;
-       ptp_caps->gettime       = fm10k_ptp_gettime;
-       ptp_caps->settime       = fm10k_ptp_settime;
+       ptp_caps->gettime64     = fm10k_ptp_gettime;
+       ptp_caps->settime64     = fm10k_ptp_settime;
 
        /* provide pins if BAR4 is accessible */
        if (interface->sw_addr) {