From 3c46c02c5423fe8799f5ebcd2a07cf995b620a48 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Thu, 12 Dec 2013 17:17:06 +0100 Subject: poller: Allow to call functions asynchronously Sometimes execution of a function has to be delayed, for example when a backlight can only be turned on when the picture has stabilized. To help in such situations add a convenience function around the poller stuff to call a function after a delay. Signed-off-by: Sascha Hauer --- include/poller.h | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'include/poller.h') diff --git a/include/poller.h b/include/poller.h index dc981557db..cda5b5774b 100644 --- a/include/poller.h +++ b/include/poller.h @@ -12,13 +12,25 @@ struct poller_struct { void (*func)(struct poller_struct *poller); - + int registered; struct list_head list; }; int poller_register(struct poller_struct *poller); int poller_unregister(struct poller_struct *poller); +struct poller_async; + +struct poller_async { + struct poller_struct poller; + void (*fn)(void *); + void *ctx; + uint64_t end; +}; + +int poller_call_async(struct poller_async *pa, uint64_t delay_ns, + void (*fn)(void *), void *ctx); +int poller_async_cancel(struct poller_async *pa); #ifdef CONFIG_POLLER void poller_call(void); -- cgit v1.2.3