2020-11-17 21:42:54

by Ahmad Fatoum

[permalink] [raw]
Subject: [PATCH net-next v1] ptp: document struct ptp_clock_request members

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 <[email protected]>
---
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 {
--
2.29.2


2020-11-18 13:08:54

by Richard Cochran

[permalink] [raw]
Subject: Re: [PATCH net-next v1] ptp: document struct ptp_clock_request members

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 <[email protected]>

Thanks!

Acked-by: Richard Cochran <[email protected]>

2020-11-18 18:54:46

by Jakub Kicinski

[permalink] [raw]
Subject: Re: [PATCH net-next v1] ptp: document struct ptp_clock_request members

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 <[email protected]>
>
> Acked-by: Richard Cochran <[email protected]>

Applied, thanks!

2020-11-18 21:37:36

by Jacob Keller

[permalink] [raw]
Subject: Re: [PATCH net-next v1] ptp: document struct ptp_clock_request members



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 <[email protected]>

>
> Signed-off-by: Ahmad Fatoum <[email protected]>
> ---
> 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 {
>