]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pps: Convert to ktime_get_snapshot_id()
authorThomas Gleixner <tglx@kernel.org>
Fri, 29 May 2026 20:00:04 +0000 (22:00 +0200)
committerThomas Gleixner <tglx@kernel.org>
Tue, 2 Jun 2026 09:39:58 +0000 (11:39 +0200)
ktime_get_snapshot() resolves to ktime_get_snapshot_id(CLOCK_REALTIME).

Make it obvious in the code and convert the readout to use the
snapshot::systime and monoraw fields instead of snapshot::real and raw,
which aregoing away.

Similar to the PPS generators, avoid the more expensive snapshot when
CONFIG_NTP_PPS is disabled.

No functional change intended.

Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Tested-by: Arthur Kiyanovski <akiyano@amazon.com>
Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://patch.msgid.link/20260529195557.123410250@kernel.org
include/linux/pps_kernel.h

index aab0aebb529e02d735789fb2bf9b2be2bfa5a2a7..9f088c9023b1c37fe7ff828aa8f6181a5a409a3c 100644 (file)
@@ -99,12 +99,14 @@ static inline void timespec_to_pps_ktime(struct pps_ktime *kt,
 
 static inline void pps_get_ts(struct pps_event_time *ts)
 {
+#ifdef CONFIG_NTP_PPS
        struct system_time_snapshot snap;
 
-       ktime_get_snapshot(&snap);
-       ts->ts_real = ktime_to_timespec64(snap.real);
-#ifdef CONFIG_NTP_PPS
-       ts->ts_raw = ktime_to_timespec64(snap.raw);
+       ktime_get_snapshot_id(CLOCK_REALTIME, &snap);
+       ts->ts_real = ktime_to_timespec64(snap.systime);
+       ts->ts_raw = ktime_to_timespec64(snap.monoraw);
+#else
+       ktime_get_real_ts64(&ts->ts_real);
 #endif
 }