Re: [Intel PMC TGPIO Driver 2/5] drivers/ptp: Add PEROUT2 ioctl frequency adjustment interface

Christopher S. Hall
2020-02-26T00:20:40Z

Hi Richard,

On Sun, Feb 02, 2020 at 06:14:29PM -0800, Richard Cochran wrote:
> On Wed, Dec 11, 2019 at 01:48:49PM -0800, christopher.s.hall@intel.com wrote:
> > diff --git a/include/linux/ptp_clock_kernel.h b/include/linux/ptp_clock_kernel.h

> > + int (*counttstamp)(struct ptp_clock_info *ptp,
> > + struct ptp_event_count_tstamp *count);
>
> KernelDoc missing.

> As tglx said, it is hard to guess what this will be used for. I would
> appreciate a fuller explanation of the new callback in the commit log
> message.

Yes, to both of these above. More incremental patches as you point out
below also helps here. I have replied to tglx and you in another thread.

> In general, please introduce a specific new API with an example of how
> it is used. In this series you have three new APIs,
>
> [Intel PMC TGPIO Driver 2/5] drivers/ptp: Add PEROUT2 ioctl frequency adjustment interface
> [Intel PMC TGPIO Driver 3/5] drivers/ptp: Add user-space input polling interface
> [Intel PMC TGPIO Driver 4/5] x86/tsc: Add TSC support functions to support ART driven Time-Aware GPIO
>
> and then a largish driver using them all.
>
> [Intel PMC TGPIO Driver 5/5] drivers/ptp: Add PMC Time-Aware GPIO Driver
>
> May I suggest an ordering more like:
>
> [1/5] x86/tsc: Add TSC support functions to support ART... (with forward explanation of the use case)
> [2/5] drivers/ptp: Add PMC Time-Aware GPIO Driver (without new bits)
> [3/5] drivers/ptp: Add Enhanced handling of reserve fields (okay as is)
> [4/5] drivers/ptp: Add PEROUT2 ioctl frequency adjustment interface
> [5/5] implement ^^^ in the driver
> [6/5] drivers/ptp: Add user-space input polling interface
> [7/5] implement ^^^ in the driver

This makes sense. Thanks for the detail here.

> > @@ -164,10 +179,14 @@ struct ptp_pin_desc {
> > * PTP_EXTTS_REQUEST and PTP_PEROUT_REQUEST ioctls.
> > */
> > unsigned int chan;
> > + /*
> > + * Per pin capability flag
> > + */
> > + unsigned int flags;
>
> Please use 'capabilities' instead of 'flags'.

Yes. Makes sense.

> Thanks,
> Richard

Thanks,
Christopher