Commit b152688c authored by Peter Hilber's avatar Peter Hilber Committed by Thomas Gleixner

treewide: Remove system_counterval_t.cs, which is never read

The clocksource pointer in struct system_counterval_t is not evaluated any
more. Remove the code setting the member, and the member itself.
Signed-off-by: default avatarPeter Hilber <peter.hilber@opensynergy.com>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240201010453.2212371-8-peter.hilber@opensynergy.com
parent 4b7f5212
...@@ -53,7 +53,6 @@ static int __read_mostly tsc_force_recalibrate; ...@@ -53,7 +53,6 @@ static int __read_mostly tsc_force_recalibrate;
static u32 art_to_tsc_numerator; static u32 art_to_tsc_numerator;
static u32 art_to_tsc_denominator; static u32 art_to_tsc_denominator;
static u64 art_to_tsc_offset; static u64 art_to_tsc_offset;
static struct clocksource *art_related_clocksource;
static bool have_art; static bool have_art;
struct cyc2ns { struct cyc2ns {
...@@ -1313,7 +1312,6 @@ struct system_counterval_t convert_art_to_tsc(u64 art) ...@@ -1313,7 +1312,6 @@ struct system_counterval_t convert_art_to_tsc(u64 art)
res += tmp + art_to_tsc_offset; res += tmp + art_to_tsc_offset;
return (struct system_counterval_t) { return (struct system_counterval_t) {
.cs = art_related_clocksource,
.cs_id = have_art ? CSID_X86_TSC : CSID_GENERIC, .cs_id = have_art ? CSID_X86_TSC : CSID_GENERIC,
.cycles = res, .cycles = res,
}; };
...@@ -1337,9 +1335,6 @@ EXPORT_SYMBOL(convert_art_to_tsc); ...@@ -1337,9 +1335,6 @@ EXPORT_SYMBOL(convert_art_to_tsc);
* corresponding clocksource: * corresponding clocksource:
* cycles: System counter value * cycles: System counter value
* cs_id: The clocksource ID for validating comparability * cs_id: The clocksource ID for validating comparability
* cs: Clocksource corresponding to system counter value. Used
* by timekeeping code to verify comparability of two cycle
* values.
*/ */
struct system_counterval_t convert_art_ns_to_tsc(u64 art_ns) struct system_counterval_t convert_art_ns_to_tsc(u64 art_ns)
...@@ -1355,7 +1350,6 @@ struct system_counterval_t convert_art_ns_to_tsc(u64 art_ns) ...@@ -1355,7 +1350,6 @@ struct system_counterval_t convert_art_ns_to_tsc(u64 art_ns)
res += tmp; res += tmp;
return (struct system_counterval_t) { return (struct system_counterval_t) {
.cs = art_related_clocksource,
.cs_id = have_art ? CSID_X86_TSC : CSID_GENERIC, .cs_id = have_art ? CSID_X86_TSC : CSID_GENERIC,
.cycles = res, .cycles = res,
}; };
...@@ -1464,10 +1458,8 @@ static void tsc_refine_calibration_work(struct work_struct *work) ...@@ -1464,10 +1458,8 @@ static void tsc_refine_calibration_work(struct work_struct *work)
if (tsc_unstable) if (tsc_unstable)
goto unreg; goto unreg;
if (boot_cpu_has(X86_FEATURE_ART)) { if (boot_cpu_has(X86_FEATURE_ART))
art_related_clocksource = &clocksource_tsc;
have_art = true; have_art = true;
}
clocksource_register_khz(&clocksource_tsc, tsc_khz); clocksource_register_khz(&clocksource_tsc, tsc_khz);
unreg: unreg:
clocksource_unregister(&clocksource_tsc_early); clocksource_unregister(&clocksource_tsc_early);
...@@ -1492,10 +1484,8 @@ static int __init init_tsc_clocksource(void) ...@@ -1492,10 +1484,8 @@ static int __init init_tsc_clocksource(void)
* the refined calibration and directly register it as a clocksource. * the refined calibration and directly register it as a clocksource.
*/ */
if (boot_cpu_has(X86_FEATURE_TSC_KNOWN_FREQ)) { if (boot_cpu_has(X86_FEATURE_TSC_KNOWN_FREQ)) {
if (boot_cpu_has(X86_FEATURE_ART)) { if (boot_cpu_has(X86_FEATURE_ART))
art_related_clocksource = &clocksource_tsc;
have_art = true; have_art = true;
}
clocksource_register_khz(&clocksource_tsc, tsc_khz); clocksource_register_khz(&clocksource_tsc, tsc_khz);
clocksource_unregister(&clocksource_tsc_early); clocksource_unregister(&clocksource_tsc_early);
......
...@@ -1807,7 +1807,6 @@ TIMER_ACPI_DECLARE(arch_timer, ACPI_SIG_GTDT, arch_timer_acpi_init); ...@@ -1807,7 +1807,6 @@ TIMER_ACPI_DECLARE(arch_timer, ACPI_SIG_GTDT, arch_timer_acpi_init);
#endif #endif
int kvm_arch_ptp_get_crosststamp(u64 *cycle, struct timespec64 *ts, int kvm_arch_ptp_get_crosststamp(u64 *cycle, struct timespec64 *ts,
struct clocksource **cs,
enum clocksource_ids *cs_id) enum clocksource_ids *cs_id)
{ {
struct arm_smccc_res hvc_res; struct arm_smccc_res hvc_res;
...@@ -1832,8 +1831,6 @@ int kvm_arch_ptp_get_crosststamp(u64 *cycle, struct timespec64 *ts, ...@@ -1832,8 +1831,6 @@ int kvm_arch_ptp_get_crosststamp(u64 *cycle, struct timespec64 *ts,
*ts = ktime_to_timespec64(ktime); *ts = ktime_to_timespec64(ktime);
if (cycle) if (cycle)
*cycle = (u64)hvc_res.a2 << 32 | hvc_res.a3; *cycle = (u64)hvc_res.a2 << 32 | hvc_res.a3;
if (cs)
*cs = &clocksource_counter;
if (cs_id) if (cs_id)
*cs_id = CSID_ARM_ARCH_COUNTER; *cs_id = CSID_ARM_ARCH_COUNTER;
......
...@@ -28,5 +28,5 @@ void kvm_arch_ptp_exit(void) ...@@ -28,5 +28,5 @@ void kvm_arch_ptp_exit(void)
int kvm_arch_ptp_get_clock(struct timespec64 *ts) int kvm_arch_ptp_get_clock(struct timespec64 *ts)
{ {
return kvm_arch_ptp_get_crosststamp(NULL, ts, NULL, NULL); return kvm_arch_ptp_get_crosststamp(NULL, ts, NULL);
} }
...@@ -30,14 +30,13 @@ static int ptp_kvm_get_time_fn(ktime_t *device_time, ...@@ -30,14 +30,13 @@ static int ptp_kvm_get_time_fn(ktime_t *device_time,
{ {
enum clocksource_ids cs_id; enum clocksource_ids cs_id;
struct timespec64 tspec; struct timespec64 tspec;
struct clocksource *cs;
u64 cycle; u64 cycle;
int ret; int ret;
spin_lock(&kvm_ptp_lock); spin_lock(&kvm_ptp_lock);
preempt_disable_notrace(); preempt_disable_notrace();
ret = kvm_arch_ptp_get_crosststamp(&cycle, &tspec, &cs, &cs_id); ret = kvm_arch_ptp_get_crosststamp(&cycle, &tspec, &cs_id);
if (ret) { if (ret) {
spin_unlock(&kvm_ptp_lock); spin_unlock(&kvm_ptp_lock);
preempt_enable_notrace(); preempt_enable_notrace();
...@@ -47,7 +46,6 @@ static int ptp_kvm_get_time_fn(ktime_t *device_time, ...@@ -47,7 +46,6 @@ static int ptp_kvm_get_time_fn(ktime_t *device_time,
preempt_enable_notrace(); preempt_enable_notrace();
system_counter->cycles = cycle; system_counter->cycles = cycle;
system_counter->cs = cs;
system_counter->cs_id = cs_id; system_counter->cs_id = cs_id;
*device_time = timespec64_to_ktime(tspec); *device_time = timespec64_to_ktime(tspec);
......
...@@ -93,7 +93,6 @@ int kvm_arch_ptp_get_clock(struct timespec64 *ts) ...@@ -93,7 +93,6 @@ int kvm_arch_ptp_get_clock(struct timespec64 *ts)
} }
int kvm_arch_ptp_get_crosststamp(u64 *cycle, struct timespec64 *tspec, int kvm_arch_ptp_get_crosststamp(u64 *cycle, struct timespec64 *tspec,
struct clocksource **cs,
enum clocksource_ids *cs_id) enum clocksource_ids *cs_id)
{ {
struct pvclock_vcpu_time_info *src; struct pvclock_vcpu_time_info *src;
...@@ -124,7 +123,6 @@ int kvm_arch_ptp_get_crosststamp(u64 *cycle, struct timespec64 *tspec, ...@@ -124,7 +123,6 @@ int kvm_arch_ptp_get_crosststamp(u64 *cycle, struct timespec64 *tspec,
*cycle = __pvclock_read_cycles(src, clock_pair->tsc); *cycle = __pvclock_read_cycles(src, clock_pair->tsc);
} while (pvclock_read_retry(src, version)); } while (pvclock_read_retry(src, version));
*cs = &kvm_clock;
*cs_id = CSID_X86_KVM_CLK; *cs_id = CSID_X86_KVM_CLK;
return 0; return 0;
......
...@@ -12,13 +12,11 @@ ...@@ -12,13 +12,11 @@
#include <linux/types.h> #include <linux/types.h>
struct timespec64; struct timespec64;
struct clocksource;
int kvm_arch_ptp_init(void); int kvm_arch_ptp_init(void);
void kvm_arch_ptp_exit(void); void kvm_arch_ptp_exit(void);
int kvm_arch_ptp_get_clock(struct timespec64 *ts); int kvm_arch_ptp_get_clock(struct timespec64 *ts);
int kvm_arch_ptp_get_crosststamp(u64 *cycle, int kvm_arch_ptp_get_crosststamp(u64 *cycle,
struct timespec64 *tspec, struct clocksource **cs, struct timespec64 *tspec, enum clocksource_ids *cs_id);
enum clocksource_ids *cs_id);
#endif /* _PTP_KVM_H_ */ #endif /* _PTP_KVM_H_ */
...@@ -271,8 +271,6 @@ struct system_device_crosststamp { ...@@ -271,8 +271,6 @@ struct system_device_crosststamp {
* struct system_counterval_t - system counter value with the ID of the * struct system_counterval_t - system counter value with the ID of the
* corresponding clocksource * corresponding clocksource
* @cycles: System counter value * @cycles: System counter value
* @cs: Clocksource corresponding to system counter value. Timekeeping
* code now evaluates cs_id instead.
* @cs_id: Clocksource ID corresponding to system counter value. Used by * @cs_id: Clocksource ID corresponding to system counter value. Used by
* timekeeping code to verify comparability of two cycle values. * timekeeping code to verify comparability of two cycle values.
* The default ID, CSID_GENERIC, does not identify a specific * The default ID, CSID_GENERIC, does not identify a specific
...@@ -280,7 +278,6 @@ struct system_device_crosststamp { ...@@ -280,7 +278,6 @@ struct system_device_crosststamp {
*/ */
struct system_counterval_t { struct system_counterval_t {
u64 cycles; u64 cycles;
struct clocksource *cs;
enum clocksource_ids cs_id; enum clocksource_ids cs_id;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment