diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2012-02-19 06:16:15 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2012-02-19 06:16:15 +0000 |
commit | 34e3b522eca7e8741cecb7c2241091f181d1bd1f (patch) | |
tree | 3b64ac3aa4603539b8f8f384bc39998e29948900 /libdde_linux26/contrib/include/linux/htirq.h | |
parent | d4e6a14eb3fad1b43a21214db139db441025baf5 (diff) | |
parent | 6fafeb146e9efd59140ea58cebd7dd38ae9a6379 (diff) |
Merge branch 'upstream-merged'
Diffstat (limited to 'libdde_linux26/contrib/include/linux/htirq.h')
-rw-r--r-- | libdde_linux26/contrib/include/linux/htirq.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/libdde_linux26/contrib/include/linux/htirq.h b/libdde_linux26/contrib/include/linux/htirq.h new file mode 100644 index 00000000..c96ea467 --- /dev/null +++ b/libdde_linux26/contrib/include/linux/htirq.h @@ -0,0 +1,23 @@ +#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); +void mask_ht_irq(unsigned int irq); +void unmask_ht_irq(unsigned int irq); + +/* 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 */ |