htirq.h 760 B

1234567891011121314151617181920212223
  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. void mask_ht_irq(unsigned int irq);
  11. void unmask_ht_irq(unsigned int irq);
  12. /* The arch hook for getting things started */
  13. int arch_setup_ht_irq(unsigned int irq, struct pci_dev *dev);
  14. /* For drivers of buggy hardware */
  15. typedef void (ht_irq_update_t)(struct pci_dev *dev, int irq,
  16. struct ht_irq_msg *msg);
  17. int __ht_create_irq(struct pci_dev *dev, int idx, ht_irq_update_t *update);
  18. #endif /* LINUX_HTIRQ_H */