History

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.

Paul Mundt committed 14 years ago

Commit ecd84eb1 parent 58ee99a1 file · +10 −0Browse files

Unified · Split

kernel/irq/irqdomain.c+10−0
@@ -122,6 +122,7 @@ void irq_domain_remove(struct irq_domain *domain) · 121 unmodified lines
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, · 81 unmodified lines
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, · 23 unmodified lines
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, · 8 unmodified lines
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, · 15 unmodified lines
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 node283 * irq_find_host() - Locates a domain for a given device node
@@ -320,6 +325,7 @@ void irq_set_default_host(struct irq_domain *domain) · 41 unmodified lines
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) · 52 unmodified lines
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 space390 * 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, · 233 unmodified lines
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, · 18 unmodified lines
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, · 27 unmodified lines
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_DEBUG688#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)