irq_poll.h 619 B

12345678910111213141516171819202122232425262728
  1. #ifndef IRQ_POLL_H
  2. #define IRQ_POLL_H
  3. struct irq_poll;
  4. typedef int (irq_poll_fn)(struct irq_poll *, int);
  5. struct irq_poll {
  6. struct list_head list;
  7. unsigned long state;
  8. unsigned long data;
  9. int weight;
  10. int max;
  11. irq_poll_fn *poll;
  12. };
  13. enum {
  14. IRQ_POLL_F_SCHED = 0,
  15. IRQ_POLL_F_DISABLE = 1,
  16. };
  17. extern void irq_poll_sched(struct irq_poll *);
  18. extern void irq_poll_init(struct irq_poll *, int, irq_poll_fn *);
  19. extern void irq_poll_complete(struct irq_poll *);
  20. extern void __irq_poll_complete(struct irq_poll *);
  21. extern void irq_poll_enable(struct irq_poll *);
  22. extern void irq_poll_disable(struct irq_poll *);
  23. #endif