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