]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
irqdomain: Use irq_domain_instantiate()'s return value as initializers
authorJiri Slaby (SUSE) <jirislaby@kernel.org>
Wed, 19 Mar 2025 09:29:43 +0000 (10:29 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 16 May 2025 19:06:12 +0000 (21:06 +0200)
This makes the code more compact.

Note that irq_domain_create_hierarchy()'s handling of size is now part of
info's initializer (using the ternary operator). That makes more sense
while reading it.

Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20250319092951.37667-51-jirislaby@kernel.org
include/linux/irqdomain.h

index c8e55cd1e3527741bfe363053f693d27069796b8..1e3858438e698fa62677cfc96b69b39a57712095 100644 (file)
@@ -403,9 +403,8 @@ static inline struct irq_domain *irq_domain_create_nomap(struct fwnode_handle *f
                .ops            = ops,
                .host_data      = host_data,
        };
-       struct irq_domain *d;
+       struct irq_domain *d = irq_domain_instantiate(&info);
 
-       d = irq_domain_instantiate(&info);
        return IS_ERR(d) ? NULL : d;
 }
 
@@ -424,9 +423,8 @@ static inline struct irq_domain *irq_domain_create_linear(struct fwnode_handle *
                .ops            = ops,
                .host_data      = host_data,
        };
-       struct irq_domain *d;
+       struct irq_domain *d = irq_domain_instantiate(&info);
 
-       d = irq_domain_instantiate(&info);
        return IS_ERR(d) ? NULL : d;
 }
 
@@ -440,9 +438,8 @@ static inline struct irq_domain *irq_domain_create_tree(struct fwnode_handle *fw
                .ops            = ops,
                .host_data      = host_data,
        };
-       struct irq_domain *d;
+       struct irq_domain *d = irq_domain_instantiate(&info);
 
-       d = irq_domain_instantiate(&info);
        return IS_ERR(d) ? NULL : d;
 }
 
@@ -554,18 +551,14 @@ static inline struct irq_domain *irq_domain_create_hierarchy(struct irq_domain *
        struct irq_domain_info info = {
                .fwnode         = fwnode,
                .size           = size,
-               .hwirq_max      = size,
+               .hwirq_max      = size ? : ~0U,
                .ops            = ops,
                .host_data      = host_data,
                .domain_flags   = flags,
                .parent         = parent,
        };
-       struct irq_domain *d;
+       struct irq_domain *d = irq_domain_instantiate(&info);
 
-       if (!info.size)
-               info.hwirq_max = ~0U;
-
-       d = irq_domain_instantiate(&info);
        return IS_ERR(d) ? NULL : d;
 }