diff options
Diffstat (limited to 'include/linux/irq.h')
-rw-r--r-- | include/linux/irq.h | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/include/linux/irq.h b/include/linux/irq.h index baa397eb9c3..59517300a31 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/errno.h> | 23 | #include <linux/errno.h> |
24 | #include <linux/topology.h> | 24 | #include <linux/topology.h> |
25 | #include <linux/wait.h> | 25 | #include <linux/wait.h> |
26 | #include <linux/module.h> | ||
26 | 27 | ||
27 | #include <asm/irq.h> | 28 | #include <asm/irq.h> |
28 | #include <asm/ptrace.h> | 29 | #include <asm/ptrace.h> |
@@ -96,11 +97,6 @@ enum { | |||
96 | 97 | ||
97 | #define IRQ_NO_BALANCING_MASK (IRQ_PER_CPU | IRQ_NO_BALANCING) | 98 | #define IRQ_NO_BALANCING_MASK (IRQ_PER_CPU | IRQ_NO_BALANCING) |
98 | 99 | ||
99 | static inline __deprecated bool CHECK_IRQ_PER_CPU(unsigned int status) | ||
100 | { | ||
101 | return status & IRQ_PER_CPU; | ||
102 | } | ||
103 | |||
104 | /* | 100 | /* |
105 | * Return value for chip->irq_set_affinity() | 101 | * Return value for chip->irq_set_affinity() |
106 | * | 102 | * |
@@ -113,14 +109,18 @@ enum { | |||
113 | }; | 109 | }; |
114 | 110 | ||
115 | struct msi_desc; | 111 | struct msi_desc; |
112 | struct irq_domain; | ||
116 | 113 | ||
117 | /** | 114 | /** |
118 | * struct irq_data - per irq and irq chip data passed down to chip functions | 115 | * struct irq_data - per irq and irq chip data passed down to chip functions |
119 | * @irq: interrupt number | 116 | * @irq: interrupt number |
117 | * @hwirq: hardware interrupt number, local to the interrupt domain | ||
120 | * @node: node index useful for balancing | 118 | * @node: node index useful for balancing |
121 | * @state_use_accessors: status information for irq chip functions. | 119 | * @state_use_accessors: status information for irq chip functions. |
122 | * Use accessor functions to deal with it | 120 | * Use accessor functions to deal with it |
123 | * @chip: low level interrupt hardware access | 121 | * @chip: low level interrupt hardware access |
122 | * @domain: Interrupt translation domain; responsible for mapping | ||
123 | * between hwirq number and linux irq number. | ||
124 | * @handler_data: per-IRQ data for the irq_chip methods | 124 | * @handler_data: per-IRQ data for the irq_chip methods |
125 | * @chip_data: platform-specific per-chip private data for the chip | 125 | * @chip_data: platform-specific per-chip private data for the chip |
126 | * methods, to allow shared chip implementations | 126 | * methods, to allow shared chip implementations |
@@ -133,9 +133,11 @@ struct msi_desc; | |||
133 | */ | 133 | */ |
134 | struct irq_data { | 134 | struct irq_data { |
135 | unsigned int irq; | 135 | unsigned int irq; |
136 | unsigned long hwirq; | ||
136 | unsigned int node; | 137 | unsigned int node; |
137 | unsigned int state_use_accessors; | 138 | unsigned int state_use_accessors; |
138 | struct irq_chip *chip; | 139 | struct irq_chip *chip; |
140 | struct irq_domain *domain; | ||
139 | void *handler_data; | 141 | void *handler_data; |
140 | void *chip_data; | 142 | void *chip_data; |
141 | struct msi_desc *msi_desc; | 143 | struct msi_desc *msi_desc; |
@@ -546,7 +548,15 @@ static inline struct msi_desc *irq_data_get_msi(struct irq_data *d) | |||
546 | return d->msi_desc; | 548 | return d->msi_desc; |
547 | } | 549 | } |
548 | 550 | ||
549 | int irq_alloc_descs(int irq, unsigned int from, unsigned int cnt, int node); | 551 | int __irq_alloc_descs(int irq, unsigned int from, unsigned int cnt, int node, |
552 | struct module *owner); | ||
553 | |||
554 | static inline int irq_alloc_descs(int irq, unsigned int from, unsigned int cnt, | ||
555 | int node) | ||
556 | { | ||
557 | return __irq_alloc_descs(irq, from, cnt, node, THIS_MODULE); | ||
558 | } | ||
559 | |||
550 | void irq_free_descs(unsigned int irq, unsigned int cnt); | 560 | void irq_free_descs(unsigned int irq, unsigned int cnt); |
551 | int irq_reserve_irqs(unsigned int from, unsigned int cnt); | 561 | int irq_reserve_irqs(unsigned int from, unsigned int cnt); |
552 | 562 | ||