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

ptp: use the 64 bit gettime method for the SYS_OFFSET ioctl.



This patch changes the code to use the new method whenever implemented by
the PHC driver.

Signed-off-by: default avatarRichard Cochran <richardcochran@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 92f17194
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -124,7 +124,8 @@ long ptp_ioctl(struct posix_clock *pc, unsigned int cmd, unsigned long arg)
	struct ptp_clock *ptp = container_of(pc, struct ptp_clock, clock);
	struct ptp_clock_info *ops = ptp->info;
	struct ptp_clock_time *pct;
	struct timespec ts;
	struct timespec64 ts;
	struct timespec t2;
	int enable, err = 0;
	unsigned int i, pin_index;

@@ -197,16 +198,21 @@ long ptp_ioctl(struct posix_clock *pc, unsigned int cmd, unsigned long arg)
		}
		pct = &sysoff->ts[0];
		for (i = 0; i < sysoff->n_samples; i++) {
			getnstimeofday(&ts);
			getnstimeofday64(&ts);
			pct->sec = ts.tv_sec;
			pct->nsec = ts.tv_nsec;
			pct++;
			ptp->info->gettime(ptp->info, &ts);
			if (ptp->info->gettime64) {
				ptp->info->gettime64(ptp->info, &ts);
			} else {
				ptp->info->gettime(ptp->info, &t2);
				ts = timespec_to_timespec64(t2);
			}
			pct->sec = ts.tv_sec;
			pct->nsec = ts.tv_nsec;
			pct++;
		}
		getnstimeofday(&ts);
		getnstimeofday64(&ts);
		pct->sec = ts.tv_sec;
		pct->nsec = ts.tv_nsec;
		if (copy_to_user((void __user *)arg, sysoff, sizeof(*sysoff)))