aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/irq
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2012-05-19 02:11:42 -0400
committerGrant Likely <grant.likely@secretlab.ca>2012-05-19 14:34:38 -0400
commitecd84eb20a08841197d6bbda5961dcf5f4e424fc (patch)
treec8717474bf4c8bfca560d88ebd0f89be4d642e93 /kernel/irq
parent58ee99ada293b5ed971a023304fcfbc1a0ccdb1c (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.c10
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}
125EXPORT_SYMBOL_GPL(irq_domain_remove);
125 126
126static unsigned int irq_domain_legacy_revmap(struct irq_domain *domain, 127static 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}
213EXPORT_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}
243EXPORT_SYMBOL_GPL(irq_domain_add_linear);
241 244
242struct irq_domain *irq_domain_add_nomap(struct device_node *of_node, 245struct 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}
258EXPORT_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}
280EXPORT_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}
328EXPORT_SYMBOL_GPL(irq_set_default_host);
323 329
324static int irq_setup_virq(struct irq_domain *domain, unsigned int virq, 330static 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}
387EXPORT_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}
627EXPORT_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}
652EXPORT_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}
686EXPORT_SYMBOL_GPL(irq_linear_revmap);
677 687
678#ifdef CONFIG_IRQ_DOMAIN_DEBUG 688#ifdef CONFIG_IRQ_DOMAIN_DEBUG
679static int virq_debug_show(struct seq_file *m, void *private) 689static int virq_debug_show(struct seq_file *m, void *private)