From 58ee99ada293b5ed971a023304fcfbc1a0ccdb1c Mon Sep 17 00:00:00 2001 From: Paul Mundt Date: Sat, 19 May 2012 15:11:41 +0900 Subject: 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 Signed-off-by: Grant Likely --- include/linux/irqdomain.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'include') 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); -- cgit v1.2.3 From cb5557bec9f14d05204a9014ae1b23aca8b04f1d Mon Sep 17 00:00:00 2001 From: Paul Mundt Date: Sat, 19 May 2012 15:11:45 +0900 Subject: irqdomain: Kill off duplicate definitions. Presently irqdomain.h has duplicate definitions for irq_find_host() and irq_set_default_host(), presumably from merge damage. Kill off the duplicates. Signed-off-by: Paul Mundt Signed-off-by: Grant Likely --- include/linux/irqdomain.h | 3 --- 1 file changed, 3 deletions(-) (limited to 'include') diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index a796dbf80b67..5abb533eb8eb 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h @@ -144,9 +144,6 @@ static inline struct irq_domain *irq_domain_add_legacy_isa( 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); -- cgit v1.2.3