diff options
author | Paul Mundt <lethal@linux-sh.org> | 2012-05-19 10:11:41 +0400 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2012-05-19 22:32:35 +0400 |
commit | 58ee99ada293b5ed971a023304fcfbc1a0ccdb1c (patch) | |
tree | 29faab64364615dda0cb373ee7dbd483ff89ce9c /include/linux/irqdomain.h | |
parent | 36be50515fe2aef61533b516fa2576a2c7fe7664 (diff) | |
download | linux-58ee99ada293b5ed971a023304fcfbc1a0ccdb1c.tar.xz |
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.h | 4 |
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( return irq_domain_add_legacy(of_node, NUM_ISA_INTERRUPTS, 0, 0, ops, host_data); } + +extern void irq_domain_remove(struct irq_domain *host); + extern struct irq_domain *irq_find_host(struct device_node *node); extern void irq_set_default_host(struct irq_domain *host); - extern unsigned int irq_create_mapping(struct irq_domain *host, irq_hw_number_t hwirq); extern void irq_dispose_mapping(unsigned int virq); |