From 0782ee3bd8a245d70696ca2b0f0733a980c62764 Mon Sep 17 00:00:00 2001 From: Luca Coelho Date: Thu, 20 Sep 2018 14:28:37 +0300 Subject: backport: make ktime_get_boottime_seconds() non-inline With kernels < 3.17, we need to include hrtimer.h to get ktime_divns() for the ktime_get_boottime_seconds() backport. But we can't just include htrtimer.h in the backport timekeeping.h because we run into some cyclical inclusions that cause problems. To solve that make ktime_get_boottime_seconds() non-inline and add it to a new backport-4.18.c file. Signed-off-by: Luca Coelho Signed-off-by: Johannes Berg --- backport/backport-include/linux/timekeeping.h | 5 +---- backport/compat/Makefile | 1 + backport/compat/backport-4.18.c | 11 +++++++++++ 3 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 backport/compat/backport-4.18.c diff --git a/backport/backport-include/linux/timekeeping.h b/backport/backport-include/linux/timekeeping.h index 73ce9f17..aebb00ca 100644 --- a/backport/backport-include/linux/timekeeping.h +++ b/backport/backport-include/linux/timekeeping.h @@ -25,10 +25,7 @@ static inline u64 ktime_get_boot_ns(void) #endif /* < 3.17 */ #if LINUX_VERSION_IS_LESS(4,18,0) -static inline time64_t ktime_get_boottime_seconds(void) -{ - return ktime_divns(ktime_get_boottime(), NSEC_PER_SEC); -} +extern time64_t ktime_get_boottime_seconds(void); #endif /* < 4.18 */ #if LINUX_VERSION_IS_LESS(3,19,0) diff --git a/backport/compat/Makefile b/backport/compat/Makefile index 12c4121f..f5b1886e 100644 --- a/backport/compat/Makefile +++ b/backport/compat/Makefile @@ -37,6 +37,7 @@ compat-$(CPTCFG_KERNEL_4_7) += backport-4.7.o compat-$(CPTCFG_KERNEL_4_8) += backport-4.8.o compat-$(CPTCFG_KERNEL_4_10) += backport-4.10.o compat-$(CPTCFG_KERNEL_4_12) += backport-4.12.o +compat-$(CPTCFG_KERNEL_4_18) += backport-4.18.o compat-$(CPTCFG_BPAUTO_CRYPTO_SKCIPHER) += crypto-skcipher.o diff --git a/backport/compat/backport-4.18.c b/backport/compat/backport-4.18.c new file mode 100644 index 00000000..c47fabe5 --- /dev/null +++ b/backport/compat/backport-4.18.c @@ -0,0 +1,11 @@ +/* + * Copyright (C) 2018 Intel Corporation + */ + +#include + +time64_t ktime_get_boottime_seconds(void) +{ + return ktime_divns(ktime_get_boottime(), NSEC_PER_SEC); +} +EXPORT_SYMBOL_GPL(ktime_get_boottime_seconds); -- cgit v1.2.3