irqdomain: Use irq_domain_instantiate() for hierarchy domain creation

irq_domain_instantiate() handles all needs to be used in
irq_domain_create_hierarchy()

Avoid code duplication and use directly irq_domain_instantiate() for
hierarchy domain creation.

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-10-herve.codina@bootlin.com
This commit is contained in:
Herve Codina
2024-06-14 19:32:10 +02:00
committed by Thomas Gleixner
parent 419e3778ff
commit b986055dd0

View File

@@ -1213,23 +1213,16 @@ struct irq_domain *irq_domain_create_hierarchy(struct irq_domain *parent,
.hwirq_max = size,
.ops = ops,
.host_data = host_data,
.domain_flags = flags,
.parent = parent,
};
struct irq_domain *domain;
struct irq_domain *d;
if (!info.size)
info.hwirq_max = ~0U;
domain = __irq_domain_create(&info);
if (domain) {
if (parent)
domain->root = parent->root;
domain->parent = parent;
domain->flags |= flags;
__irq_domain_publish(domain);
}
return domain;
d = irq_domain_instantiate(&info);
return IS_ERR(d) ? NULL : d;
}
EXPORT_SYMBOL_GPL(irq_domain_create_hierarchy);