1 /* SPDX-License-Identifier: GPL-2.0 */ 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; 11 int weight; 12 irq_poll_fn *poll; 13 }; 14 15 enum { 16 IRQ_POLL_F_SCHED = 0, 17 IRQ_POLL_F_DISABLE = 1, 18 }; 19 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 *); 23 extern void irq_poll_enable(struct irq_poll *); 24 extern void irq_poll_disable(struct irq_poll *); 25 26 #endif 27