diff options
author | Luke T. Shumaker <lukeshu@lukeshu.com> | 2025-02-10 00:06:34 -0700 |
---|---|---|
committer | Luke T. Shumaker <lukeshu@lukeshu.com> | 2025-02-10 00:06:34 -0700 |
commit | 6cd125e1ffd44fdf62c44d22c519561a8c9d7268 (patch) | |
tree | bf2b4a8225fe0d6f00084a1577c70bb564a20600 /libhw_generic/alarmclock.c | |
parent | f466cff948ec638f26a9a77a391904ebe03c4dfb (diff) | |
parent | a51875001eb672d73c9d84d44bb32abce327b931 (diff) |
Merge branch 'lukeshu/libobj-simple'
Diffstat (limited to 'libhw_generic/alarmclock.c')
-rw-r--r-- | libhw_generic/alarmclock.c | 9 |
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); } |