]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
irqchip/loongson-pch-msi.c: Switch to msi_create_parent_irq_domain()
authorThomas Gleixner <tglx@linutronix.de>
Thu, 26 Jun 2025 14:49:02 +0000 (16:49 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 3 Jul 2025 13:49:24 +0000 (15:49 +0200)
Switch to use the concise helper to create an MSI parent domain.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Nam Cao <namcao@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/7ae78d7b7e33ad8ca1ec2ba28957546c81ba86f7.1750860131.git.namcao@linutronix.de
drivers/irqchip/irq-loongson-pch-msi.c

index a0257c7bef1088a4ba2813ca09f73dcff033c682..4aedc9b90ff77a86c95318f7d777d0e431b5fabd 100644 (file)
@@ -153,26 +153,21 @@ static struct msi_parent_ops pch_msi_parent_ops = {
        .init_dev_msi_info      = msi_lib_init_dev_msi_info,
 };
 
-static int pch_msi_init_domains(struct pch_msi_data *priv,
-                               struct irq_domain *parent,
+static int pch_msi_init_domains(struct pch_msi_data *priv, struct irq_domain *parent,
                                struct fwnode_handle *domain_handle)
 {
-       struct irq_domain *middle_domain;
-
-       middle_domain = irq_domain_create_hierarchy(parent, 0, priv->num_irqs,
-                                                   domain_handle,
-                                                   &pch_msi_middle_domain_ops,
-                                                   priv);
-       if (!middle_domain) {
+       struct irq_domain_info info = {
+               .ops            = &pch_msi_middle_domain_ops,
+               .size           = priv->num_irqs,
+               .parent         = parent,
+               .host_data      = priv,
+               .fwnode         = domain_handle,
+       };
+
+       if (!msi_create_parent_irq_domain(&info, &pch_msi_parent_ops)) {
                pr_err("Failed to create the MSI middle domain\n");
                return -ENOMEM;
        }
-
-       irq_domain_update_bus_token(middle_domain, DOMAIN_BUS_NEXUS);
-
-       middle_domain->flags |= IRQ_DOMAIN_FLAG_MSI_PARENT;
-       middle_domain->msi_parent_ops = &pch_msi_parent_ops;
-
        return 0;
 }