mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 06:12:08 +00:00
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>
This commit is contained in:
parent
58ee99ada2
commit
ecd84eb20a
@ -122,6 +122,7 @@ void irq_domain_remove(struct irq_domain *domain)
|
|||||||
|
|
||||||
irq_domain_free(domain);
|
irq_domain_free(domain);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(irq_domain_remove);
|
||||||
|
|
||||||
static unsigned int irq_domain_legacy_revmap(struct irq_domain *domain,
|
static unsigned int irq_domain_legacy_revmap(struct irq_domain *domain,
|
||||||
irq_hw_number_t hwirq)
|
irq_hw_number_t hwirq)
|
||||||
@ -209,6 +210,7 @@ struct irq_domain *irq_domain_add_legacy(struct device_node *of_node,
|
|||||||
irq_domain_add(domain);
|
irq_domain_add(domain);
|
||||||
return domain;
|
return domain;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(irq_domain_add_legacy);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* irq_domain_add_linear() - Allocate and register a legacy revmap irq_domain.
|
* 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,
|
|||||||
irq_domain_add(domain);
|
irq_domain_add(domain);
|
||||||
return domain;
|
return domain;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(irq_domain_add_linear);
|
||||||
|
|
||||||
struct irq_domain *irq_domain_add_nomap(struct device_node *of_node,
|
struct irq_domain *irq_domain_add_nomap(struct device_node *of_node,
|
||||||
unsigned int max_irq,
|
unsigned int max_irq,
|
||||||
@ -252,6 +255,7 @@ struct irq_domain *irq_domain_add_nomap(struct device_node *of_node,
|
|||||||
}
|
}
|
||||||
return domain;
|
return domain;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(irq_domain_add_nomap);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* irq_domain_add_tree()
|
* irq_domain_add_tree()
|
||||||
@ -273,6 +277,7 @@ struct irq_domain *irq_domain_add_tree(struct device_node *of_node,
|
|||||||
}
|
}
|
||||||
return domain;
|
return domain;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(irq_domain_add_tree);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* irq_find_host() - Locates a domain for a given device node
|
* irq_find_host() - Locates a domain for a given device node
|
||||||
@ -320,6 +325,7 @@ void irq_set_default_host(struct irq_domain *domain)
|
|||||||
|
|
||||||
irq_default_domain = domain;
|
irq_default_domain = domain;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(irq_set_default_host);
|
||||||
|
|
||||||
static int irq_setup_virq(struct irq_domain *domain, unsigned int virq,
|
static int irq_setup_virq(struct irq_domain *domain, unsigned int virq,
|
||||||
irq_hw_number_t hwirq)
|
irq_hw_number_t hwirq)
|
||||||
@ -378,6 +384,7 @@ unsigned int irq_create_direct_mapping(struct irq_domain *domain)
|
|||||||
|
|
||||||
return virq;
|
return virq;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(irq_create_direct_mapping);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* irq_create_mapping() - Map a hardware interrupt into linux irq space
|
* 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,
|
|||||||
*/
|
*/
|
||||||
return irq_data ? irq_data->irq : irq_find_mapping(domain, hwirq);
|
return irq_data ? irq_data->irq : irq_find_mapping(domain, hwirq);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(irq_radix_revmap_lookup);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* irq_radix_revmap_insert() - Insert a hw irq to linux irq number mapping.
|
* 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,
|
|||||||
mutex_unlock(&revmap_trees_mutex);
|
mutex_unlock(&revmap_trees_mutex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(irq_radix_revmap_insert);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* irq_linear_revmap() - Find a linux irq from a hw irq number.
|
* 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,
|
|||||||
|
|
||||||
return revmap[hwirq];
|
return revmap[hwirq];
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(irq_linear_revmap);
|
||||||
|
|
||||||
#ifdef CONFIG_IRQ_DOMAIN_DEBUG
|
#ifdef CONFIG_IRQ_DOMAIN_DEBUG
|
||||||
static int virq_debug_show(struct seq_file *m, void *private)
|
static int virq_debug_show(struct seq_file *m, void *private)
|
||||||
|
Loading…
Reference in New Issue
Block a user