Commit 843293e1 authored by Richard Cochran's avatar Richard Cochran Committed by David S. Miller
Browse files

ptp: fm10k: convert to the 64 bit get/set time methods.



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: default avatarRichard Cochran <richardcochran@gmail.com>
Acked-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 07c74eb7
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -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) {