BACKPORT: 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@arm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/20200320145351.32292-9-vincenzo.frascino@arm.com
(cherry picked from commit 14ee2ac618e49e767c9af4aa007f951eb9e35153)
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 154668398
Change-Id: I685711da05a1fe1414b93064e9be8b7f9888d8c0
This commit is contained in:
Vincenzo Frascino 2020-03-20 14:53:33 +00:00 committed by Alistair Delva
parent 8985300320
commit 4358d4114f
2 changed files with 25 additions and 0 deletions

View file

@ -27,6 +27,8 @@ struct module;
#include <asm/clocksource.h>
#endif
#include <vdso/clocksource.h>
/**
* struct clocksource - hardware abstraction for a free running counter
* Provides mostly state-free accessors to the underlying hardware.

View file

@ -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 */