diff options
author | Oleksandr Suvorov <oleksandr.suvorov@toradex.com> | 2020-03-26 12:44:27 +0200 |
---|---|---|
committer | Oleksandr Suvorov <oleksandr.suvorov@toradex.com> | 2020-03-26 12:46:50 +0200 |
commit | 87d308708712ff6075c4dd54b0519b47fdad8816 (patch) | |
tree | 2fb6458b1db7dd21be2648f42412dd2485846c76 /backport-include/linux/interrupt.h |
Backports v5.4.27
Backports generated by toradex backports f6e8852f1ef28e6d3c9bae8400eb6a87a6b0c3e7
against mainline kernel tag v5.4.27
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
Diffstat (limited to 'backport-include/linux/interrupt.h')
-rw-r--r-- | backport-include/linux/interrupt.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/backport-include/linux/interrupt.h b/backport-include/linux/interrupt.h new file mode 100644 index 0000000..f7e7134 --- /dev/null +++ b/backport-include/linux/interrupt.h @@ -0,0 +1,36 @@ +#ifndef _BP_LINUX_INTERRUPT_H +#define _BP_LINUX_INTERRUPT_H +#include <linux/version.h> +#include_next <linux/interrupt.h> +#include <linux/ktime.h> + +#if LINUX_VERSION_IS_LESS(4,10,0) + +/* Forward a hrtimer so it expires after now: */ +static inline u64 +backport_hrtimer_forward(struct hrtimer *timer, ktime_t now, s64 interval) +{ + ktime_t _interval = { .tv64 = interval }; + + return hrtimer_forward(timer, now, _interval); +} +#define hrtimer_forward LINUX_BACKPORT(hrtimer_forward) + +static inline s64 backport_ns_to_ktime(u64 ns) +{ + ktime_t _time = ns_to_ktime(ns); + + return _time.tv64; +} +#define ns_to_ktime LINUX_BACKPORT(ns_to_ktime) + +static inline void backport_hrtimer_start(struct hrtimer *timer, s64 time, + const enum hrtimer_mode mode) +{ + ktime_t _time = { .tv64 = time }; + hrtimer_start(timer, _time, mode); +} +#define hrtimer_start LINUX_BACKPORT(hrtimer_start) +#endif + +#endif /* _BP_LINUX_INTERRUPT_H */ |