mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-26 03:17:48 +00:00
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: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
92f1719407
commit
e13cfcb03e
@ -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)))
|
||||
|
Loading…
Reference in New Issue
Block a user