summaryrefslogtreecommitdiff
path: root/libhw_generic/alarmclock.c
diff options
context:
space:
mode:
authorLuke T. Shumaker <lukeshu@lukeshu.com>2025-02-10 00:06:34 -0700
committerLuke T. Shumaker <lukeshu@lukeshu.com>2025-02-10 00:06:34 -0700
commit6cd125e1ffd44fdf62c44d22c519561a8c9d7268 (patch)
treebf2b4a8225fe0d6f00084a1577c70bb564a20600 /libhw_generic/alarmclock.c
parentf466cff948ec638f26a9a77a391904ebe03c4dfb (diff)
parenta51875001eb672d73c9d84d44bb32abce327b931 (diff)
Merge branch 'lukeshu/libobj-simple'
Diffstat (limited to 'libhw_generic/alarmclock.c')
-rw-r--r--libhw_generic/alarmclock.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/libhw_generic/alarmclock.c b/libhw_generic/alarmclock.c
index a16f2f6..7fd049e 100644
--- a/libhw_generic/alarmclock.c
+++ b/libhw_generic/alarmclock.c
@@ -1,24 +1,25 @@
/* libhw_generic/alarmclock.c - Device-independent <libhw/generic/alarmclock.h> utilities
*
- * Copyright (C) 2024 Luke T. Shumaker <lukeshu@lukeshu.com>
+ * Copyright (C) 2024-2025 Luke T. Shumaker <lukeshu@lukeshu.com>
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
#include <libcr/coroutine.h>
-#include <libmisc/vcall.h>
#include <libhw/generic/alarmclock.h>
+lo_interface alarmclock bootclock = {0};
+
static void alarmclock_sleep_intrhandler(void *_arg) {
cid_t cid = *(cid_t *)_arg;
cr_unpause_from_intrhandler(cid);
}
-void alarmclock_sleep_until_ns(implements_alarmclock *clock, uint64_t abstime_ns) {
+void alarmclock_sleep_until_ns(lo_interface alarmclock clock, uint64_t abstime_ns) {
bool saved = cr_save_and_disable_interrupts();
cid_t cid = cr_getcid();
struct alarmclock_trigger trigger;
- VCALL(clock, add_trigger, &trigger, abstime_ns, alarmclock_sleep_intrhandler, &cid);
+ LO_CALL(clock, add_trigger, &trigger, abstime_ns, alarmclock_sleep_intrhandler, &cid);
cr_pause_and_yield();
cr_restore_interrupts(saved);
}