summaryrefslogtreecommitdiff
path: root/lib/vdso
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2020-02-07 15:38:59 +0300
committerThomas Gleixner <tglx@linutronix.de>2020-02-17 22:12:17 +0300
commitf86fd32db706613fe8d0104057efa6e83e0d7e8f (patch)
tree538b280f0e4d48d1766f8b33754bdb3f4cb5b86a /lib/vdso
parent5e3c6a312a0946d2d83e32359612cbb925a8bed0 (diff)
downloadlinux-f86fd32db706613fe8d0104057efa6e83e0d7e8f.tar.xz
lib/vdso: Cleanup clock mode storage leftovers
Now that all architectures are converted to use the generic storage the helpers and conditionals can be removed. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Vincenzo Frascino <vincenzo.frascino@arm.com> Reviewed-by: Vincenzo Frascino <vincenzo.frascino@arm.com> Link: https://lkml.kernel.org/r/20200207124403.470699892@linutronix.de
Diffstat (limited to 'lib/vdso')
-rw-r--r--lib/vdso/Kconfig3
-rw-r--r--lib/vdso/gettimeofday.c17
2 files changed, 5 insertions, 15 deletions
diff --git a/lib/vdso/Kconfig b/lib/vdso/Kconfig
index d9f43c84fcc6..d883ac299508 100644
--- a/lib/vdso/Kconfig
+++ b/lib/vdso/Kconfig
@@ -30,7 +30,4 @@ config GENERIC_VDSO_TIME_NS
Selected by architectures which support time namespaces in the
VDSO
-config GENERIC_VDSO_CLOCK_MODE
- bool
-
endif
diff --git a/lib/vdso/gettimeofday.c b/lib/vdso/gettimeofday.c
index 3f2d8b859130..00f8d1f1405b 100644
--- a/lib/vdso/gettimeofday.c
+++ b/lib/vdso/gettimeofday.c
@@ -65,16 +65,13 @@ static int do_hres_timens(const struct vdso_data *vdns, clockid_t clk,
do {
seq = vdso_read_begin(vd);
- if (IS_ENABLED(CONFIG_GENERIC_VDSO_CLOCK_MODE) &&
- vd->clock_mode == VDSO_CLOCKMODE_NONE)
+
+ if (unlikely(vd->clock_mode == VDSO_CLOCKMODE_NONE))
return -1;
+
cycles = __arch_get_hw_counter(vd->clock_mode);
ns = vdso_ts->nsec;
last = vd->cycle_last;
- if (!IS_ENABLED(CONFIG_GENERIC_VDSO_CLOCK_MODE) &&
- unlikely((s64)cycles < 0))
- return -1;
-
ns += vdso_calc_delta(cycles, last, vd->mask, vd->mult);
ns >>= vd->shift;
sec = vdso_ts->sec;
@@ -137,16 +134,12 @@ static __always_inline int do_hres(const struct vdso_data *vd, clockid_t clk,
}
smp_rmb();
- if (IS_ENABLED(CONFIG_GENERIC_VDSO_CLOCK_MODE) &&
- vd->clock_mode == VDSO_CLOCKMODE_NONE)
+ if (unlikely(vd->clock_mode == VDSO_CLOCKMODE_NONE))
return -1;
+
cycles = __arch_get_hw_counter(vd->clock_mode);
ns = vdso_ts->nsec;
last = vd->cycle_last;
- if (!IS_ENABLED(CONFIG_GENERIC_VDSO_CLOCK_MODE) &&
- unlikely((s64)cycles < 0))
- return -1;
-
ns += vdso_calc_delta(cycles, last, vd->mask, vd->mult);
ns >>= vd->shift;
sec = vdso_ts->sec;