diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/irqchip/irq-crossbar.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/irqchip/irq-crossbar.c b/drivers/irqchip/irq-crossbar.c index a8c615692803..518d712c475a 100644 --- a/drivers/irqchip/irq-crossbar.c +++ b/drivers/irqchip/irq-crossbar.c | |||
| @@ -89,6 +89,17 @@ static int crossbar_domain_map(struct irq_domain *d, unsigned int irq, | |||
| 89 | return 0; | 89 | return 0; |
| 90 | } | 90 | } |
| 91 | 91 | ||
| 92 | /** | ||
| 93 | * crossbar_domain_unmap - unmap a crossbar<->irq connection | ||
| 94 | * @d: domain of irq to unmap | ||
| 95 | * @irq: virq number | ||
| 96 | * | ||
| 97 | * We do not maintain a use count of total number of map/unmap | ||
| 98 | * calls for a particular irq to find out if a irq can be really | ||
| 99 | * unmapped. This is because unmap is called during irq_dispose_mapping(irq), | ||
| 100 | * after which irq is anyways unusable. So an explicit map has to be called | ||
| 101 | * after that. | ||
| 102 | */ | ||
| 92 | static void crossbar_domain_unmap(struct irq_domain *d, unsigned int irq) | 103 | static void crossbar_domain_unmap(struct irq_domain *d, unsigned int irq) |
| 93 | { | 104 | { |
| 94 | irq_hw_number_t hw = irq_get_irq_data(irq)->hwirq; | 105 | irq_hw_number_t hw = irq_get_irq_data(irq)->hwirq; |
