htirq.h 787 B

12345678910111213141516171819202122232425
  1. #ifndef LINUX_HTIRQ_H
  2. #define LINUX_HTIRQ_H
  3. struct ht_irq_msg {
  4. u32 address_lo; /* low 32 bits of the ht irq message */
  5. u32 address_hi; /* high 32 bits of the it irq message */
  6. };
  7. /* Helper functions.. */
  8. void fetch_ht_irq_msg(unsigned int irq, struct ht_irq_msg *msg);
  9. void write_ht_irq_msg(unsigned int irq, struct ht_irq_msg *msg);
  10. struct irq_data;
  11. void mask_ht_irq(struct irq_data *data);
  12. void unmask_ht_irq(struct irq_data *data);
  13. /* The arch hook for getting things started */
  14. int arch_setup_ht_irq(unsigned int irq, struct pci_dev *dev);
  15. /* For drivers of buggy hardware */
  16. typedef void (ht_irq_update_t)(struct pci_dev *dev, int irq,
  17. struct ht_irq_msg *msg);
  18. int __ht_create_irq(struct pci_dev *dev, int idx, ht_irq_update_t *update);
  19. #endif /* LINUX_HTIRQ_H */