diff options
Diffstat (limited to 'include/linux/irq_work.h')
-rw-r--r-- | include/linux/irq_work.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/include/linux/irq_work.h b/include/linux/irq_work.h new file mode 100644 index 00000000..6a9e8f53 --- /dev/null +++ b/include/linux/irq_work.h @@ -0,0 +1,23 @@ +#ifndef _LINUX_IRQ_WORK_H +#define _LINUX_IRQ_WORK_H + +#include <linux/llist.h> + +struct irq_work { + unsigned long flags; + struct llist_node llnode; + void (*func)(struct irq_work *); +}; + +static inline +void init_irq_work(struct irq_work *work, void (*func)(struct irq_work *)) +{ + work->flags = 0; + work->func = func; +} + +bool irq_work_queue(struct irq_work *work); +void irq_work_run(void); +void irq_work_sync(struct irq_work *work); + +#endif /* _LINUX_IRQ_WORK_H */ |