[PATCH 7/7] ptp: add support for PTP_SYS_OFFSET_{PRECISE, EXTENDED}_CYCLES commands

Gleb Fotengauer-Malinovskiy glebfm at altlinux.org
Thu Jan 29 13:20:07 UTC 2026


* src/ptp.c (ptp_ioctl): Handle PTP_SYS_OFFSET_PRECISE_CYCLES and
PTP_SYS_OFFSET_EXTENDED_CYCLES.
* tests/ioctl_ptp.c (test_no_device): Add PTP_SYS_OFFSET_PRECISE_CYCLES
and PTP_SYS_OFFSET_EXTENDED_CYCLES to expected ioctl tables.
---
 src/ptp.c         | 8 ++++++--
 tests/ioctl_ptp.c | 6 ++++--
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/ptp.c b/src/ptp.c
index e0a48aa43..0385887a9 100644
--- a/src/ptp.c
+++ b/src/ptp.c
@@ -272,11 +272,13 @@ ptp_ioctl(struct tcb *const tcp, const unsigned int code,
 	}
 
 	case PTP_SYS_OFFSET_PRECISE:
-	case PTP_SYS_OFFSET_PRECISE2: {
+	case PTP_SYS_OFFSET_PRECISE2:
+	case PTP_SYS_OFFSET_PRECISE_CYCLES: {
 		struct ptp_sys_offset_precise sysoff;
 		CHECK_TYPE_SIZE(sysoff.rsv, sizeof(unsigned int) * 4);
 		CHECK_IOCTL_SIZE(PTP_SYS_OFFSET_PRECISE, 64);
 		CHECK_IOCTL_SIZE(PTP_SYS_OFFSET_PRECISE2, 64);
+		CHECK_IOCTL_SIZE(PTP_SYS_OFFSET_PRECISE_CYCLES, 64);
 
 		if (entering(tcp))
 			return 0;
@@ -299,11 +301,13 @@ ptp_ioctl(struct tcb *const tcp, const unsigned int code,
 	}
 
 	case PTP_SYS_OFFSET_EXTENDED:
-	case PTP_SYS_OFFSET_EXTENDED2: {
+	case PTP_SYS_OFFSET_EXTENDED2:
+	case PTP_SYS_OFFSET_EXTENDED_CYCLES: {
 		struct ptp_sys_offset_extended sysoff;
 		CHECK_TYPE_SIZE(sysoff.rsv, sizeof(unsigned int) * 2);
 		CHECK_IOCTL_SIZE(PTP_SYS_OFFSET_EXTENDED, 1216);
 		CHECK_IOCTL_SIZE(PTP_SYS_OFFSET_EXTENDED2, 1216);
+		CHECK_IOCTL_SIZE(PTP_SYS_OFFSET_EXTENDED_CYCLES, 1216);
 
 		if (entering(tcp)) {
 			tprints_arg_next_name("argp");
diff --git a/tests/ioctl_ptp.c b/tests/ioctl_ptp.c
index 3cf03bf88..906d91a96 100644
--- a/tests/ioctl_ptp.c
+++ b/tests/ioctl_ptp.c
@@ -471,10 +471,11 @@ test_no_device(void)
 		}
 	}
 
-	/* PTP_SYS_OFFSET_PRECISE{,2} */
+	/* PTP_SYS_OFFSET_PRECISE{,2,_CYCLES} */
 	static const struct strval32 ioc_soprec[] = {
 		{ ARG_STR(PTP_SYS_OFFSET_PRECISE) },
 		{ ARG_STR(PTP_SYS_OFFSET_PRECISE2) },
+		{ ARG_STR(PTP_SYS_OFFSET_PRECISE_CYCLES) },
 	};
 	static const struct ptp_clock_time ts_vecs[] = {
 		{ 0, 123456789 },
@@ -551,10 +552,11 @@ test_no_device(void)
 		}
 	}
 
-	/* PTP_SYS_OFFSET_EXTENDED{,2} */
+	/* PTP_SYS_OFFSET_EXTENDED{,2,_CYCLES} */
 	static const struct strval32 ioc_soext[] = {
 		{ ARG_STR(PTP_SYS_OFFSET_EXTENDED) },
 		{ ARG_STR(PTP_SYS_OFFSET_EXTENDED2) },
+		{ ARG_STR(PTP_SYS_OFFSET_EXTENDED_CYCLES) },
 	};
 	static const struct strval32 clock_names[] = {
 		{ ARG_STR(CLOCK_REALTIME) },
-- 
glebfm



More information about the Strace-devel mailing list