diff options
author | Paul Mundt <lethal@linux-sh.org> | 2012-05-19 02:11:42 -0400 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2012-05-19 14:34:38 -0400 |
commit | ecd84eb20a08841197d6bbda5961dcf5f4e424fc (patch) | |
tree | c8717474bf4c8bfca560d88ebd0f89be4d642e93 /kernel/irq | |
parent | 58ee99ada293b5ed971a023304fcfbc1a0ccdb1c (diff) |
irqdomain: Export remaining public API symbols.
modules making use of irq domains at the very least need access to the
add/remove/lookup routines, though there's nothing preventing them from
using the remainder of the public API, either.
The current set of exports seem primarily geared at DT-enabled platforms
using DT-backed IRQ domains, where many of the API accesses are hidden
away in OF code. The non-DT cases need to do most of this on their own.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'kernel/irq')
-rw-r--r-- | kernel/irq/irqdomain.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c index 9cae0b2f509f..01d4a0de061f 100644 --- a/kernel/irq/irqdomain.c +++ b/kernel/irq/irqdomain.c | |||
@@ -122,6 +122,7 @@ void irq_domain_remove(struct irq_domain *domain) | |||
122 | 122 | ||
123 | irq_domain_free(domain); | 123 | irq_domain_free(domain); |
124 | } | 124 | } |
125 | EXPORT_SYMBOL_GPL(irq_domain_remove); | ||
125 | 126 | ||
126 | static unsigned int irq_domain_legacy_revmap(struct irq_domain *domain, | 127 | static unsigned int irq_domain_legacy_revmap(struct irq_domain *domain, |
127 | irq_hw_number_t hwirq) | 128 | irq_hw_number_t hwirq) |
@@ -209,6 +210,7 @@ struct irq_domain *irq_domain_add_legacy(struct device_node *of_node, | |||
209 | irq_domain_add(domain); | 210 | irq_domain_add(domain); |
210 | return domain; | 211 | return domain; |
211 | } | 212 | } |
213 | EXPORT_SYMBOL_GPL(irq_domain_add_legacy); | ||
212 | 214 | ||
213 | /** | 215 | /** |
214 | * irq_domain_add_linear() - Allocate and register a legacy revmap irq_domain. | 216 | * irq_domain_add_linear() - Allocate and register a legacy revmap irq_domain. |
@@ -238,6 +240,7 @@ struct irq_domain *irq_domain_add_linear(struct device_node *of_node, | |||
238 | irq_domain_add(domain); | 240 | irq_domain_add(domain); |
239 | return domain; | 241 | return domain; |
240 | } | 242 | } |
243 | EXPORT_SYMBOL_GPL(irq_domain_add_linear); | ||
241 | 244 | ||
242 | struct irq_domain *irq_domain_add_nomap(struct device_node *of_node, | 245 | struct irq_domain *irq_domain_add_nomap(struct device_node *of_node, |
243 | unsigned int max_irq, | 246 | unsigned int max_irq, |
@@ -252,6 +255,7 @@ struct irq_domain *irq_domain_add_nomap(struct device_node *of_node, | |||
252 | } | 255 | } |
253 | return domain; | 256 | return domain; |
254 | } | 257 | } |
258 | EXPORT_SYMBOL_GPL(irq_domain_add_nomap); | ||
255 | 259 | ||
256 | /** | 260 | /** |
257 | * irq_domain_add_tree() | 261 | * irq_domain_add_tree() |
@@ -273,6 +277,7 @@ struct irq_domain *irq_domain_add_tree(struct device_node *of_node, | |||
273 | } | 277 | } |
274 | return domain; | 278 | return domain; |
275 | } | 279 | } |
280 | EXPORT_SYMBOL_GPL(irq_domain_add_tree); | ||
276 | 281 | ||
277 | /** | 282 | /** |
278 | * irq_find_host() - Locates a domain for a given device node | 283 | * irq_find_host() - Locates a domain for a given device node |
@@ -320,6 +325,7 @@ void irq_set_default_host(struct irq_domain *domain) | |||
320 | 325 | ||
321 | irq_default_domain = domain; | 326 | irq_default_domain = domain; |
322 | } | 327 | } |
328 | EXPORT_SYMBOL_GPL(irq_set_default_host); | ||
323 | 329 | ||
324 | static int irq_setup_virq(struct irq_domain *domain, unsigned int virq, | 330 | static int irq_setup_virq(struct irq_domain *domain, unsigned int virq, |
325 | irq_hw_number_t hwirq) | 331 | irq_hw_number_t hwirq) |
@@ -378,6 +384,7 @@ unsigned int irq_create_direct_mapping(struct irq_domain *domain) | |||
378 | 384 | ||
379 | return virq; | 385 | return virq; |
380 | } | 386 | } |
387 | EXPORT_SYMBOL_GPL(irq_create_direct_mapping); | ||
381 | 388 | ||
382 | /** | 389 | /** |
383 | * irq_create_mapping() - Map a hardware interrupt into linux irq space | 390 | * irq_create_mapping() - Map a hardware interrupt into linux irq space |
@@ -617,6 +624,7 @@ unsigned int irq_radix_revmap_lookup(struct irq_domain *domain, | |||
617 | */ | 624 | */ |
618 | return irq_data ? irq_data->irq : irq_find_mapping(domain, hwirq); | 625 | return irq_data ? irq_data->irq : irq_find_mapping(domain, hwirq); |
619 | } | 626 | } |
627 | EXPORT_SYMBOL_GPL(irq_radix_revmap_lookup); | ||
620 | 628 | ||
621 | /** | 629 | /** |
622 | * irq_radix_revmap_insert() - Insert a hw irq to linux irq number mapping. | 630 | * irq_radix_revmap_insert() - Insert a hw irq to linux irq number mapping. |
@@ -641,6 +649,7 @@ void irq_radix_revmap_insert(struct irq_domain *domain, unsigned int virq, | |||
641 | mutex_unlock(&revmap_trees_mutex); | 649 | mutex_unlock(&revmap_trees_mutex); |
642 | } | 650 | } |
643 | } | 651 | } |
652 | EXPORT_SYMBOL_GPL(irq_radix_revmap_insert); | ||
644 | 653 | ||
645 | /** | 654 | /** |
646 | * irq_linear_revmap() - Find a linux irq from a hw irq number. | 655 | * irq_linear_revmap() - Find a linux irq from a hw irq number. |
@@ -674,6 +683,7 @@ unsigned int irq_linear_revmap(struct irq_domain *domain, | |||
674 | 683 | ||
675 | return revmap[hwirq]; | 684 | return revmap[hwirq]; |
676 | } | 685 | } |
686 | EXPORT_SYMBOL_GPL(irq_linear_revmap); | ||
677 | 687 | ||
678 | #ifdef CONFIG_IRQ_DOMAIN_DEBUG | 688 | #ifdef CONFIG_IRQ_DOMAIN_DEBUG |
679 | static int virq_debug_show(struct seq_file *m, void *private) | 689 | static int virq_debug_show(struct seq_file *m, void *private) |