diff mbox series

[net-next,v1] ptp: document struct ptp_clock_request members

Message ID 20201117213826.18235-1-a.fatoum@pengutronix.de
State New
Headers show
Series [net-next,v1] ptp: document struct ptp_clock_request members | expand

Commit Message

Ahmad Fatoum Nov. 17, 2020, 9:38 p.m. UTC
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.

Signed-off-by: Ahmad Fatoum <a.fatoum@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(+)

Comments

Jakub Kicinski Nov. 18, 2020, 6:51 p.m. UTC | #1
On Wed, 18 Nov 2020 05:05:41 -0800 Richard Cochran wrote:
> On Tue, Nov 17, 2020 at 10:38:26PM +0100, 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.
> > 
> > Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>  
> 
> Acked-by: Richard Cochran <richardcochran@gmail.com>

Applied, thanks!
Jacob Keller Nov. 18, 2020, 9:35 p.m. UTC | #2
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.keller@intel.com>

> 
> Signed-off-by: Ahmad Fatoum <a.fatoum@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 {
>
diff mbox series

Patch

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 {