genirq/msi: Populate the domain name if provided by the irqchip
authorMarc Zyngier <marc.zyngier@arm.com>
Fri, 12 May 2017 11:55:37 +0000 (12:55 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 22 May 2017 20:29:45 +0000 (22:29 +0200)
In order to ease debug, let's populate the domain name upfront, before any
MSI gets requested. This allows the domain to appear in the
irq_domain_mapping, and the user to easily find the expected data.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Link: http://lkml.kernel.org/r/20170512115538.10767-4-marc.zyngier@arm.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kernel/irq/msi.c

index ddc2f5427f75c57e09bc2e5ba9d655fa35c6e288..fe4d48ec5bc4a708c42246bbe3b16e437c4683ec 100644 (file)
@@ -265,13 +265,19 @@ struct irq_domain *msi_create_irq_domain(struct fwnode_handle *fwnode,
                                         struct msi_domain_info *info,
                                         struct irq_domain *parent)
 {
+       struct irq_domain *domain;
+
        if (info->flags & MSI_FLAG_USE_DEF_DOM_OPS)
                msi_domain_update_dom_ops(info);
        if (info->flags & MSI_FLAG_USE_DEF_CHIP_OPS)
                msi_domain_update_chip_ops(info);
 
-       return irq_domain_create_hierarchy(parent, IRQ_DOMAIN_FLAG_MSI, 0,
-                                          fwnode, &msi_domain_ops, info);
+       domain = irq_domain_create_hierarchy(parent, IRQ_DOMAIN_FLAG_MSI, 0,
+                                            fwnode, &msi_domain_ops, info);
+       if (domain && info->chip && info->chip->name)
+               domain->name = info->chip->name;
+
+       return domain;
 }
 
 int msi_domain_prepare_irqs(struct irq_domain *domain, struct device *dev,