Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
511cbce2 CH |
2 | #ifndef IRQ_POLL_H |
3 | #define IRQ_POLL_H | |
4 | ||
5 | struct irq_poll; | |
6 | typedef int (irq_poll_fn)(struct irq_poll *, int); | |
7 | ||
8 | struct irq_poll { | |
9 | struct list_head list; | |
10 | unsigned long state; | |
511cbce2 | 11 | int weight; |
511cbce2 CH |
12 | irq_poll_fn *poll; |
13 | }; | |
14 | ||
15 | enum { | |
16 | IRQ_POLL_F_SCHED = 0, | |
17 | IRQ_POLL_F_DISABLE = 1, | |
18 | }; | |
19 | ||
511cbce2 CH |
20 | extern void irq_poll_sched(struct irq_poll *); |
21 | extern void irq_poll_init(struct irq_poll *, int, irq_poll_fn *); | |
22 | extern void irq_poll_complete(struct irq_poll *); | |
511cbce2 CH |
23 | extern void irq_poll_enable(struct irq_poll *); |
24 | extern void irq_poll_disable(struct irq_poll *); | |
25 | ||
26 | #endif |