On 11/17/2020 1:38 PM, Ahmad Fatoum wrote:
> It's arguable most people interested in configuring a PPS signal
> want it as external output, not as kernel input. PTP_CLK_REQ_PPS
> is for input though. Add documentation to nudge readers into
> the correct direction.

Agreed. I think at least one driver has abused the PPS in the past as a
way to request that we enable the PPS hardware, resulting in effectively
using it as a limited form of the EXTTS interface. Hopefully this helps
reduce the confusion here!

Reviewed-by: Jacob Keller <jacob.e.kel...@intel.com>

> 
> Signed-off-by: Ahmad Fatoum <a.fat...@pengutronix.de>
> ---
> Prompted by Richard's comment here:
> https://lore.kernel.org/netdev/20180525170247.r4gn323udrucmyv6@localhost/
> ---
>  include/linux/ptp_clock_kernel.h | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/include/linux/ptp_clock_kernel.h 
> b/include/linux/ptp_clock_kernel.h
> index d3e8ba5c7125..0d47fd33b228 100644
> --- a/include/linux/ptp_clock_kernel.h
> +++ b/include/linux/ptp_clock_kernel.h
> @@ -12,6 +12,19 @@
>  #include <linux/pps_kernel.h>
>  #include <linux/ptp_clock.h>
>  
> +/**
> + * struct ptp_clock_request - request PTP clock event
> + *
> + * @type:   The type of the request.
> + *       EXTTS:  Configure external trigger timestamping
> + *       PEROUT: Configure periodic output signal (e.g. PPS)
> + *       PPS:    trigger internal PPS event for input
> + *               into kernel PPS subsystem
> + * @extts:  describes configuration for external trigger timestamping.
> + *          This is only valid when event == PTP_CLK_REQ_EXTTS.
> + * @perout: describes configuration for periodic output.
> + *       This is only valid when event == PTP_CLK_REQ_PEROUT.
> + */
>  
>  struct ptp_clock_request {
>       enum {
> 

Reply via email to