[tip: timers/core] linux/clocksource.h: Extract common header for vDSO

From: tip-bot2 for Vincenzo Frascino
Date: Sat Mar 21 2020 - 10:34:17 EST


The following commit has been merged into the timers/core branch of tip:

Commit-ID: 14ee2ac618e49e767c9af4aa007f951eb9e35153
Gitweb: https://git.kernel.org/tip/14ee2ac618e49e767c9af4aa007f951eb9e35153
Author: Vincenzo Frascino <vincenzo.frascino@xxxxxxx>
AuthorDate: Fri, 20 Mar 2020 14:53:33
Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CommitterDate: Sat, 21 Mar 2020 15:23:56 +01:00

linux/clocksource.h: Extract common header for vDSO

The vDSO library should only include the necessary headers required for
a userspace library (UAPI and a minimal set of kernel headers). To make
this possible it is necessary to isolate from the kernel headers the
common parts that are strictly necessary to build the library.

Split clocksource.h into linux and common headers to make the latter
suitable for inclusion in the vDSO library.

Signed-off-by: Vincenzo Frascino <vincenzo.frascino@xxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link: https://lkml.kernel.org/r/20200320145351.32292-9-vincenzo.frascino@xxxxxxx

---
include/linux/clocksource.h | 11 +----------
include/vdso/clocksource.h | 23 +++++++++++++++++++++++
2 files changed, 24 insertions(+), 10 deletions(-)
create mode 100644 include/vdso/clocksource.h

diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h
index 02e3282..86d143d 100644
--- a/include/linux/clocksource.h
+++ b/include/linux/clocksource.h
@@ -28,16 +28,7 @@ struct module;
#include <asm/clocksource.h>
#endif

-enum vdso_clock_mode {
- VDSO_CLOCKMODE_NONE,
-#ifdef CONFIG_GENERIC_GETTIMEOFDAY
- VDSO_ARCH_CLOCKMODES,
-#endif
- VDSO_CLOCKMODE_MAX,
-
- /* Indicator for time namespace VDSO */
- VDSO_CLOCKMODE_TIMENS = INT_MAX
-};
+#include <vdso/clocksource.h>

/**
* struct clocksource - hardware abstraction for a free running counter
diff --git a/include/vdso/clocksource.h b/include/vdso/clocksource.h
new file mode 100644
index 0000000..ab58330
--- /dev/null
+++ b/include/vdso/clocksource.h
@@ -0,0 +1,23 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __VDSO_CLOCKSOURCE_H
+#define __VDSO_CLOCKSOURCE_H
+
+#include <vdso/limits.h>
+
+#if defined(CONFIG_ARCH_CLOCKSOURCE_DATA) || \
+ defined(CONFIG_GENERIC_GETTIMEOFDAY)
+#include <asm/vdso/clocksource.h>
+#endif /* CONFIG_ARCH_CLOCKSOURCE_DATA || CONFIG_GENERIC_GETTIMEOFDAY */
+
+enum vdso_clock_mode {
+ VDSO_CLOCKMODE_NONE,
+#ifdef CONFIG_GENERIC_GETTIMEOFDAY
+ VDSO_ARCH_CLOCKMODES,
+#endif
+ VDSO_CLOCKMODE_MAX,
+
+ /* Indicator for time namespace VDSO */
+ VDSO_CLOCKMODE_TIMENS = INT_MAX
+};
+
+#endif /* __VDSO_CLOCKSOURCE_H */