]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
irqdomain: Convert domain creation functions to irq_domain_instantiate()
authorHerve Codina <herve.codina@bootlin.com>
Fri, 14 Jun 2024 17:32:19 +0000 (19:32 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 17 Jun 2024 13:48:15 +0000 (15:48 +0200)
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: Herve Codina <herve.codina@bootlin.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240614173232.1184015-19-herve.codina@bootlin.com
kernel/irq/irqdomain.c

index 4d2a40359eb2bd302e18ba27f64f18fa4854c39e..c9b076c09eb458779c92d0c46e8f590cd98afa70 100644 (file)
@@ -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,11 +505,20 @@ 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)
-               irq_domain_associate_many(domain, first_irq, first_hwirq, size);
+       domain = irq_domain_instantiate(&info);
+       if (IS_ERR(domain))
+               return NULL;
+
+       irq_domain_associate_many(domain, first_irq, first_hwirq, size);
 
        return domain;
 }