[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150626064027.GA1511@localhost.localdomain>
Date: Fri, 26 Jun 2015 08:40:27 +0200
From: Richard Cochran <richardcochran@...il.com>
To: Christopher Hall <christopher.s.hall@...el.com>
Cc: netdev@...r.kernel.org, jacob.e.keller@...el.com,
john.ronciak@...el.com, kevin.b.stanton@...el.com
Subject: Re: [PATCH] Added additional callback to ptp_clock_info:
On Thu, Jun 25, 2015 at 04:42:57PM -0700, Christopher Hall wrote:
> @@ -196,19 +196,31 @@ long ptp_ioctl(struct posix_clock *pc, unsigned int cmd, unsigned long arg)
> break;
> }
> pct = &sysoff->ts[0];
> - for (i = 0; i < sysoff->n_samples; i++) {
> - getnstimeofday64(&ts);
> + if (ptp->info->getsynctime64 && sysoff->n_samples == 1) {
> + ptp->info->getsynctime64(ptp->info, &ts, &systs);
> + pct->sec = systs.tv_sec;
> + pct->nsec = systs.tv_nsec;
> + ++pct;
Please use pct++ for the sake of consistency.
> pct->sec = ts.tv_sec;
> pct->nsec = ts.tv_nsec;
> - pct++;
> - ptp->info->gettime64(ptp->info, &ts);
> + ++pct;
> + pct->sec = systs.tv_sec;
> + pct->nsec = systs.tv_nsec;
> + } else {
> + for (i = 0; i < sysoff->n_samples; i++) {
> + getnstimeofday64(&ts);
> + pct->sec = ts.tv_sec;
> + pct->nsec = ts.tv_nsec;
> + pct++;
> + ptp->info->gettime64(ptp->info, &ts);
> + pct->sec = ts.tv_sec;
> + pct->nsec = ts.tv_nsec;
> + pct++;
> + }
> + getnstimeofday64(&ts);
> pct->sec = ts.tv_sec;
> pct->nsec = ts.tv_nsec;
> - pct++;
> }
> - getnstimeofday64(&ts);
> - pct->sec = ts.tv_sec;
> - pct->nsec = ts.tv_nsec;
> if (copy_to_user((void __user *)arg, sysoff, sizeof(*sysoff)))
> err = -EFAULT;
> break;
> diff --git a/include/linux/ptp_clock_kernel.h b/include/linux/ptp_clock_kernel.h
> index b8b7306..edff9a5 100644
> --- a/include/linux/ptp_clock_kernel.h
> +++ b/include/linux/ptp_clock_kernel.h
> @@ -105,6 +105,9 @@ struct ptp_clock_info {
> int (*adjfreq)(struct ptp_clock_info *ptp, s32 delta);
> int (*adjtime)(struct ptp_clock_info *ptp, s64 delta);
> int (*gettime64)(struct ptp_clock_info *ptp, struct timespec64 *ts);
> + int (*getsynctime64)
> + (struct ptp_clock_info *ptp, struct timespec64 *dev,
> + struct timespec64 *sys);
The struct's KernelDoc also needs updating.
> int (*settime64)(struct ptp_clock_info *p, const struct timespec64 *ts);
> int (*enable)(struct ptp_clock_info *ptp,
> struct ptp_clock_request *request, int on);
> --
> 1.9.1
Thanks,
Richard
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists