From: Peter Hutterer Date: Mon, 21 Oct 2024 01:07:14 +0000 (+1000) Subject: util: move libinput_now() into a utility function X-Git-Tag: 1.27.0~55 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=02f5faf6f6763495a05036faceebfbd4c5a5a203;p=platform%2Fupstream%2Flibinput.git util: move libinput_now() into a utility function Part-of: --- diff --git a/src/libinput-private.h b/src/libinput-private.h index 3038d155..dd526cb0 100644 --- a/src/libinput-private.h +++ b/src/libinput-private.h @@ -836,14 +836,15 @@ switch_notify_toggle(struct libinput_device *device, static inline uint64_t libinput_now(struct libinput *libinput) { - struct timespec ts = { 0, 0 }; + uint64_t now; + int rc = now_in_us(&now); - if (clock_gettime(CLOCK_MONOTONIC, &ts) != 0) { - log_error(libinput, "clock_gettime failed: %s\n", strerror(errno)); + if (rc < 0) { + log_error(libinput, "clock_gettime failed: %s\n", strerror(-rc)); return 0; } - return s2us(ts.tv_sec) + ns2us(ts.tv_nsec); + return now; } static inline struct device_float_coords diff --git a/src/util-time.h b/src/util-time.h index ec1f9937..e534fcea 100644 --- a/src/util-time.h +++ b/src/util-time.h @@ -26,6 +26,7 @@ #include "config.h" #include +#include #include #include #include @@ -98,6 +99,20 @@ us2tv(uint64_t time) return tv; } +static inline int +now_in_us(uint64_t *us) +{ + struct timespec ts = { 0, 0 }; + + if (clock_gettime(CLOCK_MONOTONIC, &ts) != 0) { + *us = 0; + return -errno; + } + + *us = s2us(ts.tv_sec) + ns2us(ts.tv_nsec); + return 0; +} + struct human_time { unsigned int value; const char *unit;