0001
0002 #ifndef IRQ_POLL_H
0003 #define IRQ_POLL_H
0004
0005 struct irq_poll;
0006 typedef int (irq_poll_fn)(struct irq_poll *, int);
0007
0008 struct irq_poll {
0009 struct list_head list;
0010 unsigned long state;
0011 int weight;
0012 irq_poll_fn *poll;
0013 };
0014
0015 enum {
0016 IRQ_POLL_F_SCHED = 0,
0017 IRQ_POLL_F_DISABLE = 1,
0018 };
0019
0020 extern void irq_poll_sched(struct irq_poll *);
0021 extern void irq_poll_init(struct irq_poll *, int, irq_poll_fn *);
0022 extern void irq_poll_complete(struct irq_poll *);
0023 extern void irq_poll_enable(struct irq_poll *);
0024 extern void irq_poll_disable(struct irq_poll *);
0025
0026 #endif