x86/uv: Use irq_domain_create_hierarchy()
authorJohan Hovold <johan+linaro@kernel.org>
Mon, 13 Feb 2023 10:42:55 +0000 (11:42 +0100)
committerMarc Zyngier <maz@kernel.org>
Mon, 13 Feb 2023 19:31:24 +0000 (19:31 +0000)
Use the irq_domain_create_hierarchy() helper to create the hierarchical
domain, which both serves as documentation and avoids poking at
irqdomain internals.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Hsin-Yi Wang <hsinyi@chromium.org>
Tested-by: Mark-PK Tsai <mark-pk.tsai@mediatek.com>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20230213104302.17307-14-johan+linaro@kernel.org
arch/x86/platform/uv/uv_irq.c

index 1a536a1..ee21d6a 100644 (file)
@@ -166,10 +166,9 @@ static struct irq_domain *uv_get_irq_domain(void)
        if (!fn)
                goto out;
 
-       uv_domain = irq_domain_create_tree(fn, &uv_domain_ops, NULL);
-       if (uv_domain)
-               uv_domain->parent = x86_vector_domain;
-       else
+       uv_domain = irq_domain_create_hierarchy(x86_vector_domain, 0, 0, fn,
+                                               &uv_domain_ops, NULL);
+       if (!uv_domain)
                irq_domain_free_fwnode(fn);
 out:
        mutex_unlock(&uv_lock);