Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ptp: document behavior of PTP_STRICT_FLAGS

Commit 6138e687c7b6 ("ptp: Introduce strict checking of external time stamp
options.") added the PTP_STRICT_FLAGS to the set of flags supported for the
external timestamp request ioctl.

It is only supported by PTP_EXTTS_REQUEST2, as it was introduced the
introduction of the new ioctls. Further, the kernel has always set this
flag for PTP_EXTTS_REQUEST2 regardless of whether or not the user requested
the behavior.

This effectively means that the flag is not useful for userspace. If the
user issues a PTP_EXTTS_REQUEST ioctl, the flag is ignored due to not being
supported on the old ioctl. If the user issues a PTP_EXTTS_REQUEST2 ioctl,
the flag will be set by the kernel regardless of whether the user set the
flag in their structure.

Add a comment documenting this behavior in the uAPI header file.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
Acked-by: Richard Cochran <richardcochran@gmail.com>
Reviewed-by: Kory Maincent <kory.maincent@bootlin.com>
Tested-by: James Clark <jjc@jclark.com>
Link: https://patch.msgid.link/20250918-jk-fix-bcm-phy-supported-flags-v1-3-747b60407c9c@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Jacob Keller and committed by
Jakub Kicinski
cd875625 3200fdd4

+3
+3
include/uapi/linux/ptp_clock.h
··· 37 37 38 38 /* 39 39 * flag fields valid for the new PTP_EXTTS_REQUEST2 ioctl. 40 + * 41 + * Note: PTP_STRICT_FLAGS is always enabled by the kernel for 42 + * PTP_EXTTS_REQUEST2 regardless of whether it is set by userspace. 40 43 */ 41 44 #define PTP_EXTTS_VALID_FLAGS (PTP_ENABLE_FEATURE | \ 42 45 PTP_RISING_EDGE | \