diff options
Diffstat (limited to 'libhw_generic/alarmclock.c')
-rw-r--r-- | libhw_generic/alarmclock.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/libhw_generic/alarmclock.c b/libhw_generic/alarmclock.c index d501f51..7fd049e 100644 --- a/libhw_generic/alarmclock.c +++ b/libhw_generic/alarmclock.c @@ -5,22 +5,21 @@ */ #include <libcr/coroutine.h> -#include <libmisc/vcall.h> #include <libhw/generic/alarmclock.h> -implements_alarmclock *bootclock = NULL; +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); } |