diff options
Diffstat (limited to 'kernel/include/linux/htirq.h')
-rw-r--r-- | kernel/include/linux/htirq.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/kernel/include/linux/htirq.h b/kernel/include/linux/htirq.h new file mode 100644 index 000000000..70a1dbbf2 --- /dev/null +++ b/kernel/include/linux/htirq.h @@ -0,0 +1,24 @@ +#ifndef LINUX_HTIRQ_H +#define LINUX_HTIRQ_H + +struct ht_irq_msg { + u32 address_lo; /* low 32 bits of the ht irq message */ + u32 address_hi; /* high 32 bits of the it irq message */ +}; + +/* Helper functions.. */ +void fetch_ht_irq_msg(unsigned int irq, struct ht_irq_msg *msg); +void write_ht_irq_msg(unsigned int irq, struct ht_irq_msg *msg); +struct irq_data; +void mask_ht_irq(struct irq_data *data); +void unmask_ht_irq(struct irq_data *data); + +/* The arch hook for getting things started */ +int arch_setup_ht_irq(unsigned int irq, struct pci_dev *dev); + +/* For drivers of buggy hardware */ +typedef void (ht_irq_update_t)(struct pci_dev *dev, int irq, + struct ht_irq_msg *msg); +int __ht_create_irq(struct pci_dev *dev, int idx, ht_irq_update_t *update); + +#endif /* LINUX_HTIRQ_H */ |