xref: /linux-6.15/include/linux/irq_poll.h (revision bb7e5ce7)
1 #ifndef IRQ_POLL_H
2 #define IRQ_POLL_H
3 
4 struct irq_poll;
5 typedef int (irq_poll_fn)(struct irq_poll *, int);
6 
7 struct irq_poll {
8 	struct list_head list;
9 	unsigned long state;
10 	int weight;
11 	irq_poll_fn *poll;
12 };
13 
14 enum {
15 	IRQ_POLL_F_SCHED	= 0,
16 	IRQ_POLL_F_DISABLE	= 1,
17 };
18 
19 extern void irq_poll_sched(struct irq_poll *);
20 extern void irq_poll_init(struct irq_poll *, int, irq_poll_fn *);
21 extern void irq_poll_complete(struct irq_poll *);
22 extern void irq_poll_enable(struct irq_poll *);
23 extern void irq_poll_disable(struct irq_poll *);
24 
25 #endif
26