aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/irqdomain.h
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2012-05-19 02:11:41 -0400
committerGrant Likely <grant.likely@secretlab.ca>2012-05-19 14:32:35 -0400
commit58ee99ada293b5ed971a023304fcfbc1a0ccdb1c (patch)
tree29faab64364615dda0cb373ee7dbd483ff89ce9c /include/linux/irqdomain.h
parent36be50515fe2aef61533b516fa2576a2c7fe7664 (diff)
irqdomain: Support removal of IRQ domains.
Now that IRQ domains are being used by modules it's necessary to support removing them, too. This adds a new irq_domain_remove() routine for doing the bulk of the heavy lifting. It's left as an exercise to the caller to ensure all mappings have been appropriatey disposed of before attempting to remove the domain. Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'include/linux/irqdomain.h')
-rw-r--r--include/linux/irqdomain.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h
index c65740d76e66..a796dbf80b67 100644
--- a/include/linux/irqdomain.h
+++ b/include/linux/irqdomain.h
@@ -141,10 +141,12 @@ static inline struct irq_domain *irq_domain_add_legacy_isa(
141 return irq_domain_add_legacy(of_node, NUM_ISA_INTERRUPTS, 0, 0, ops, 141 return irq_domain_add_legacy(of_node, NUM_ISA_INTERRUPTS, 0, 0, ops,
142 host_data); 142 host_data);
143} 143}
144
145extern void irq_domain_remove(struct irq_domain *host);
146
144extern struct irq_domain *irq_find_host(struct device_node *node); 147extern struct irq_domain *irq_find_host(struct device_node *node);
145extern void irq_set_default_host(struct irq_domain *host); 148extern void irq_set_default_host(struct irq_domain *host);
146 149
147
148extern unsigned int irq_create_mapping(struct irq_domain *host, 150extern unsigned int irq_create_mapping(struct irq_domain *host,
149 irq_hw_number_t hwirq); 151 irq_hw_number_t hwirq);
150extern void irq_dispose_mapping(unsigned int virq); 152extern void irq_dispose_mapping(unsigned int virq);