irqdomain: Make irq_domain_create_hierarchy() an inline
There is no reason to export the function as an extra symbol. It is simple enough and is just a wrapper to already exported functions. Therefore, switch the exported function to an inline. Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/all/20250319092951.37667-13-jirislaby@kernel.orgpull/1250/head
parent
e847a847ae
commit
c7131b1208
|
|
@ -591,12 +591,45 @@ void irq_domain_set_info(struct irq_domain *domain, unsigned int virq,
|
||||||
void *handler_data, const char *handler_name);
|
void *handler_data, const char *handler_name);
|
||||||
void irq_domain_reset_irq_data(struct irq_data *irq_data);
|
void irq_domain_reset_irq_data(struct irq_data *irq_data);
|
||||||
#ifdef CONFIG_IRQ_DOMAIN_HIERARCHY
|
#ifdef CONFIG_IRQ_DOMAIN_HIERARCHY
|
||||||
struct irq_domain *irq_domain_create_hierarchy(struct irq_domain *parent,
|
/**
|
||||||
unsigned int flags,
|
* irq_domain_create_hierarchy - Add a irqdomain into the hierarchy
|
||||||
unsigned int size,
|
* @parent: Parent irq domain to associate with the new domain
|
||||||
struct fwnode_handle *fwnode,
|
* @flags: Irq domain flags associated to the domain
|
||||||
const struct irq_domain_ops *ops,
|
* @size: Size of the domain. See below
|
||||||
void *host_data);
|
* @fwnode: Optional fwnode of the interrupt controller
|
||||||
|
* @ops: Pointer to the interrupt domain callbacks
|
||||||
|
* @host_data: Controller private data pointer
|
||||||
|
*
|
||||||
|
* If @size is 0 a tree domain is created, otherwise a linear domain.
|
||||||
|
*
|
||||||
|
* If successful the parent is associated to the new domain and the
|
||||||
|
* domain flags are set.
|
||||||
|
* Returns pointer to IRQ domain, or NULL on failure.
|
||||||
|
*/
|
||||||
|
static inline struct irq_domain *irq_domain_create_hierarchy(struct irq_domain *parent,
|
||||||
|
unsigned int flags,
|
||||||
|
unsigned int size,
|
||||||
|
struct fwnode_handle *fwnode,
|
||||||
|
const struct irq_domain_ops *ops,
|
||||||
|
void *host_data)
|
||||||
|
{
|
||||||
|
struct irq_domain_info info = {
|
||||||
|
.fwnode = fwnode,
|
||||||
|
.size = size,
|
||||||
|
.hwirq_max = size,
|
||||||
|
.ops = ops,
|
||||||
|
.host_data = host_data,
|
||||||
|
.domain_flags = flags,
|
||||||
|
.parent = parent,
|
||||||
|
};
|
||||||
|
struct irq_domain *d;
|
||||||
|
|
||||||
|
if (!info.size)
|
||||||
|
info.hwirq_max = ~0U;
|
||||||
|
|
||||||
|
d = irq_domain_instantiate(&info);
|
||||||
|
return IS_ERR(d) ? NULL : d;
|
||||||
|
}
|
||||||
|
|
||||||
static inline struct irq_domain *irq_domain_add_hierarchy(struct irq_domain *parent,
|
static inline struct irq_domain *irq_domain_add_hierarchy(struct irq_domain *parent,
|
||||||
unsigned int flags,
|
unsigned int flags,
|
||||||
|
|
|
||||||
|
|
@ -1308,47 +1308,6 @@ void irq_domain_reset_irq_data(struct irq_data *irq_data)
|
||||||
EXPORT_SYMBOL_GPL(irq_domain_reset_irq_data);
|
EXPORT_SYMBOL_GPL(irq_domain_reset_irq_data);
|
||||||
|
|
||||||
#ifdef CONFIG_IRQ_DOMAIN_HIERARCHY
|
#ifdef CONFIG_IRQ_DOMAIN_HIERARCHY
|
||||||
/**
|
|
||||||
* irq_domain_create_hierarchy - Add a irqdomain into the hierarchy
|
|
||||||
* @parent: Parent irq domain to associate with the new domain
|
|
||||||
* @flags: Irq domain flags associated to the domain
|
|
||||||
* @size: Size of the domain. See below
|
|
||||||
* @fwnode: Optional fwnode of the interrupt controller
|
|
||||||
* @ops: Pointer to the interrupt domain callbacks
|
|
||||||
* @host_data: Controller private data pointer
|
|
||||||
*
|
|
||||||
* If @size is 0 a tree domain is created, otherwise a linear domain.
|
|
||||||
*
|
|
||||||
* If successful the parent is associated to the new domain and the
|
|
||||||
* domain flags are set.
|
|
||||||
* Returns pointer to IRQ domain, or NULL on failure.
|
|
||||||
*/
|
|
||||||
struct irq_domain *irq_domain_create_hierarchy(struct irq_domain *parent,
|
|
||||||
unsigned int flags,
|
|
||||||
unsigned int size,
|
|
||||||
struct fwnode_handle *fwnode,
|
|
||||||
const struct irq_domain_ops *ops,
|
|
||||||
void *host_data)
|
|
||||||
{
|
|
||||||
struct irq_domain_info info = {
|
|
||||||
.fwnode = fwnode,
|
|
||||||
.size = size,
|
|
||||||
.hwirq_max = size,
|
|
||||||
.ops = ops,
|
|
||||||
.host_data = host_data,
|
|
||||||
.domain_flags = flags,
|
|
||||||
.parent = parent,
|
|
||||||
};
|
|
||||||
struct irq_domain *d;
|
|
||||||
|
|
||||||
if (!info.size)
|
|
||||||
info.hwirq_max = ~0U;
|
|
||||||
|
|
||||||
d = irq_domain_instantiate(&info);
|
|
||||||
return IS_ERR(d) ? NULL : d;
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL_GPL(irq_domain_create_hierarchy);
|
|
||||||
|
|
||||||
static void irq_domain_insert_irq(int virq)
|
static void irq_domain_insert_irq(int virq)
|
||||||
{
|
{
|
||||||
struct irq_data *data;
|
struct irq_data *data;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue