mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-07 21:53:44 +00:00
irqdomain: Introduce irq_domain_free()
In preparation of the introduction of the irq domain instantiation, introduce irq_domain_free() to avoid code duplication on later modifications. This new function is an extraction of the current operations performed to free the irq domain. No functional change intended. Suggested-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Herve Codina <herve.codina@bootlin.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/r/20240614173232.1184015-2-herve.codina@bootlin.com
This commit is contained in:
parent
6ce3e98184
commit
89b37541ca
@ -238,6 +238,15 @@ static void __irq_domain_publish(struct irq_domain *domain)
|
||||
pr_debug("Added domain %s\n", domain->name);
|
||||
}
|
||||
|
||||
static void irq_domain_free(struct irq_domain *domain)
|
||||
{
|
||||
fwnode_dev_initialized(domain->fwnode, false);
|
||||
fwnode_handle_put(domain->fwnode);
|
||||
if (domain->flags & IRQ_DOMAIN_NAME_ALLOCATED)
|
||||
kfree(domain->name);
|
||||
kfree(domain);
|
||||
}
|
||||
|
||||
/**
|
||||
* __irq_domain_add() - Allocate a new irq_domain data structure
|
||||
* @fwnode: firmware node for the interrupt controller
|
||||
@ -293,12 +302,7 @@ void irq_domain_remove(struct irq_domain *domain)
|
||||
mutex_unlock(&irq_domain_mutex);
|
||||
|
||||
pr_debug("Removed domain %s\n", domain->name);
|
||||
|
||||
fwnode_dev_initialized(domain->fwnode, false);
|
||||
fwnode_handle_put(domain->fwnode);
|
||||
if (domain->flags & IRQ_DOMAIN_NAME_ALLOCATED)
|
||||
kfree(domain->name);
|
||||
kfree(domain);
|
||||
irq_domain_free(domain);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(irq_domain_remove);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user