Commit 2ada5ed6 authored by Herve Codina's avatar Herve Codina Committed by Thomas Gleixner
Browse files

irqdomain: Convert domain creation functions to irq_domain_instantiate()



Domain creation functions use __irq_domain_add(). With the introduction
of irq_domain_instantiate(), __irq_domain_add() becomes obsolete.

In order to fully remove __irq_domain_add(), convert domain
creation function to irq_domain_instantiate()

Signed-off-by: default avatarHerve Codina <herve.codina@bootlin.com>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240614173232.1184015-19-herve.codina@bootlin.com
parent 7c53626c
Loading
Loading
Loading
Loading
+21 −5
Original line number Diff line number Diff line
@@ -442,10 +442,17 @@ struct irq_domain *irq_domain_create_simple(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,
	};
	struct irq_domain *domain;

	domain = __irq_domain_add(fwnode, size, size, 0, ops, host_data);
	if (!domain)
	domain = irq_domain_instantiate(&info);
	if (IS_ERR(domain))
		return NULL;

	if (first_irq > 0) {
@@ -498,10 +505,19 @@ struct irq_domain *irq_domain_create_legacy(struct fwnode_handle *fwnode,
					 const struct irq_domain_ops *ops,
					 void *host_data)
{
	struct irq_domain_info info = {
		.fwnode		= fwnode,
		.size		= first_hwirq + size,
		.hwirq_max	= first_hwirq + size,
		.ops		= ops,
		.host_data	= host_data,
	};
	struct irq_domain *domain;

	domain = __irq_domain_add(fwnode, first_hwirq + size, first_hwirq + size, 0, ops, host_data);
	if (domain)
	domain = irq_domain_instantiate(&info);
	if (IS_ERR(domain))
		return NULL;

	irq_domain_associate_many(domain, first_irq, first_hwirq, size);

	return domain;