Subject: [patch V2 08/25] timekeeping: Remove system_time_snapshot::real/boot/raw

From: Thomas Gleixner <[email-masked]>
Date: Fri, 29 May 2026 22:00:20 +0200

From: Thomas Gleixner <[email-masked]>

All users are converted over to ktime_get_snapshot_id() and
system_time_snapshot::systime and ::monoraw.

Remove the leftovers.

Signed-off-by: Thomas Gleixner <[email-masked]>
Tested-by: David Woodhouse <[email-masked]>
Tested-by: Arthur Kiyanovski <[email-masked]>
Reviewed-by: David Woodhouse <[email-masked]>
Reviewed-by: Thomas Weißschuh <[email-masked]>
Reviewed-by: Jacob Keller <[email-masked]>
---
 include/linux/timekeeping.h |   10 +---------
 kernel/time/timekeeping.c   |    8 --------
 2 files changed, 1 insertion(+), 17 deletions(-)
--- a/include/linux/timekeeping.h
+++ b/include/linux/timekeeping.h
@@ -280,9 +280,6 @@ static inline bool ktime_get_aux_ts64(cl
  *				 a selected CLOCK_* and the clocksource counter value
  * @cycles:		Clocksource counter value to produce the system times
  * @systime:		The system time of the selected CLOCK ID
- * @real:		Realtime system time
- * @boot:		Boot time
- * @raw:		Monotonic raw system time
  * @monoraw:		Monotonic raw system time
  * @cs_id:		Clocksource ID
  * @clock_was_set_seq:	The sequence number of clock-was-set events
@@ -292,12 +289,7 @@ static inline bool ktime_get_aux_ts64(cl
 struct system_time_snapshot {
 	u64			cycles;
 	ktime_t			systime;
-	ktime_t			real;
-	ktime_t			boot;
-	union {
-		ktime_t		raw;
-		ktime_t		monoraw;
-	};
+	ktime_t			monoraw;
 	enum clocksource_ids	cs_id;
 	unsigned int		clock_was_set_seq;
 	u8			cs_was_changed_seq;
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -1196,8 +1196,6 @@ void ktime_get_snapshot_id(clockid_t clo
 	struct timekeeper *tk;
 	struct tk_data *tkd;
 	unsigned int seq;
-	ktime_t base_real;
-	ktime_t base_boot;
 
 	/* Invalidate the snapshot for all failure cases */
 	systime_snapshot->valid = false;
@@ -1239,18 +1237,12 @@ void ktime_get_snapshot_id(clockid_t clo
 		offs_sys = *offs;
 		base_raw = tk->tkr_raw.base;
 
-		/* Kept around until the callers are fixed up */
-		base_real = ktime_add(base_sys, tk_core.timekeeper.offs_real);
-		base_boot = ktime_add(base_sys, tk_core.timekeeper.offs_boot);
-
 		nsec_sys = timekeeping_cycles_to_ns(&tk->tkr_mono, now);
 		nsec_raw = timekeeping_cycles_to_ns(&tk->tkr_raw, now);
 	} while (read_seqcount_retry(&tkd->seq, seq));
 
 	systime_snapshot->cycles = now;
 	systime_snapshot->systime = ktime_add_ns(base_sys, offs_sys + nsec_sys);
-	systime_snapshot->real = ktime_add_ns(base_real, nsec_sys);
-	systime_snapshot->boot = ktime_add_ns(base_boot, nsec_sys);
 	systime_snapshot->monoraw = ktime_add_ns(base_raw, nsec_raw);
 
 	/*