|
@@ -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 *ptp = container_of(pc, struct ptp_clock, clock);
|
|
struct ptp_clock_info *ops = ptp->info;
|
|
struct ptp_clock_info *ops = ptp->info;
|
|
struct ptp_clock_time *pct;
|
|
struct ptp_clock_time *pct;
|
|
- struct timespec ts;
|
|
|
|
|
|
+ struct timespec64 ts;
|
|
|
|
+ struct timespec t2;
|
|
int enable, err = 0;
|
|
int enable, err = 0;
|
|
unsigned int i, pin_index;
|
|
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];
|
|
pct = &sysoff->ts[0];
|
|
for (i = 0; i < sysoff->n_samples; i++) {
|
|
for (i = 0; i < sysoff->n_samples; i++) {
|
|
- getnstimeofday(&ts);
|
|
|
|
|
|
+ getnstimeofday64(&ts);
|
|
pct->sec = ts.tv_sec;
|
|
pct->sec = ts.tv_sec;
|
|
pct->nsec = ts.tv_nsec;
|
|
pct->nsec = ts.tv_nsec;
|
|
pct++;
|
|
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->sec = ts.tv_sec;
|
|
pct->nsec = ts.tv_nsec;
|
|
pct->nsec = ts.tv_nsec;
|
|
pct++;
|
|
pct++;
|
|
}
|
|
}
|
|
- getnstimeofday(&ts);
|
|
|
|
|
|
+ getnstimeofday64(&ts);
|
|
pct->sec = ts.tv_sec;
|
|
pct->sec = ts.tv_sec;
|
|
pct->nsec = ts.tv_nsec;
|
|
pct->nsec = ts.tv_nsec;
|
|
if (copy_to_user((void __user *)arg, sysoff, sizeof(*sysoff)))
|
|
if (copy_to_user((void __user *)arg, sysoff, sizeof(*sysoff)))
|