irq_poll.h 575 B

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