mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-07 21:53:44 +00:00
irqdomain: Handle domain hierarchy parent in irq_domain_instantiate()
To use irq_domain_instantiate() from irq_domain_create_hierarchy(), irq_domain_instantiate() needs to handle the domain hierarchy parent. Add the required functionality. 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-9-herve.codina@bootlin.com
This commit is contained in:
parent
757398541c
commit
419e3778ff
@ -276,6 +276,12 @@ struct irq_domain_info {
|
||||
int direct_max;
|
||||
const struct irq_domain_ops *ops;
|
||||
void *host_data;
|
||||
#ifdef CONFIG_IRQ_DOMAIN_HIERARCHY
|
||||
/**
|
||||
* @parent: Pointer to the parent irq domain used in a hierarchy domain
|
||||
*/
|
||||
struct irq_domain *parent;
|
||||
#endif
|
||||
};
|
||||
|
||||
struct irq_domain *irq_domain_instantiate(const struct irq_domain_info *info);
|
||||
|
@ -265,6 +265,13 @@ struct irq_domain *irq_domain_instantiate(const struct irq_domain_info *info)
|
||||
|
||||
domain->flags |= info->domain_flags;
|
||||
|
||||
#ifdef CONFIG_IRQ_DOMAIN_HIERARCHY
|
||||
if (info->parent) {
|
||||
domain->root = info->parent->root;
|
||||
domain->parent = info->parent;
|
||||
}
|
||||
#endif
|
||||
|
||||
__irq_domain_publish(domain);
|
||||
|
||||
return domain;
|
||||
|
Loading…
Reference in New Issue
Block a user