diff options
Diffstat (limited to 'include/linux/irq_work.h')
-rw-r--r-- | include/linux/irq_work.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/include/linux/irq_work.h b/include/linux/irq_work.h index 4fa09d4d0b71..6a9e8f5399e2 100644 --- a/include/linux/irq_work.h +++ b/include/linux/irq_work.h | |||
@@ -1,20 +1,23 @@ | |||
1 | #ifndef _LINUX_IRQ_WORK_H | 1 | #ifndef _LINUX_IRQ_WORK_H |
2 | #define _LINUX_IRQ_WORK_H | 2 | #define _LINUX_IRQ_WORK_H |
3 | 3 | ||
4 | #include <linux/llist.h> | ||
5 | |||
4 | struct irq_work { | 6 | struct irq_work { |
5 | struct irq_work *next; | 7 | unsigned long flags; |
8 | struct llist_node llnode; | ||
6 | void (*func)(struct irq_work *); | 9 | void (*func)(struct irq_work *); |
7 | }; | 10 | }; |
8 | 11 | ||
9 | static inline | 12 | static inline |
10 | void init_irq_work(struct irq_work *entry, void (*func)(struct irq_work *)) | 13 | void init_irq_work(struct irq_work *work, void (*func)(struct irq_work *)) |
11 | { | 14 | { |
12 | entry->next = NULL; | 15 | work->flags = 0; |
13 | entry->func = func; | 16 | work->func = func; |
14 | } | 17 | } |
15 | 18 | ||
16 | bool irq_work_queue(struct irq_work *entry); | 19 | bool irq_work_queue(struct irq_work *work); |
17 | void irq_work_run(void); | 20 | void irq_work_run(void); |
18 | void irq_work_sync(struct irq_work *entry); | 21 | void irq_work_sync(struct irq_work *work); |
19 | 22 | ||
20 | #endif /* _LINUX_IRQ_WORK_H */ | 23 | #endif /* _LINUX_IRQ_WORK_H */ |