From ca7d400b7705ba887df69391cb774d4de83e8bf3 Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Mon, 17 Aug 2020 13:52:51 +0200 Subject: Added event unmap --- kernel/features/event.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'kernel/features/event.c') diff --git a/kernel/features/event.c b/kernel/features/event.c index 320b45a..8bdba1a 100644 --- a/kernel/features/event.c +++ b/kernel/features/event.c @@ -19,6 +19,20 @@ u32 event_map(enum event id, u32 *func) return 0; } +// TODO: Fix unmap +void event_unmap(enum event id, u32 *func) +{ + struct list *list = ((struct list *)event_table[id]); + struct node *iterator = list->head; + while (iterator->data != (void *)func) { + iterator = iterator->next; + if (!iterator) + return; + } + + list_remove(list, iterator); +} + u32 event_trigger(enum event id, u32 *data) { assert(id < sizeof(event_table) / sizeof(*event_table)); -- cgit v1.2.3