]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/pci/msi.c
PCI/MSI: Let pci_msi_get_domain use struct device::msi_domain
[karo-tx-linux.git] / drivers / pci / msi.c
index 3aae7c9ad31c8686f6eff6d13532256a6e27a732..4603344097944ead0f82528918d390c00d65e8da 100644 (file)
@@ -39,14 +39,16 @@ struct irq_domain * __weak arch_get_pci_msi_domain(struct pci_dev *dev)
 
 static struct irq_domain *pci_msi_get_domain(struct pci_dev *dev)
 {
-       struct irq_domain *domain = NULL;
+       struct irq_domain *domain;
 
-       if (dev->bus->msi)
-               domain = dev->bus->msi->domain;
-       if (!domain)
-               domain = arch_get_pci_msi_domain(dev);
+       domain = dev_get_msi_domain(&dev->dev);
+       if (domain)
+               return domain;
 
-       return domain;
+       if (dev->bus->msi && (domain = dev->bus->msi->domain))
+               return domain;
+
+       return arch_get_pci_msi_domain(dev);
 }
 
 static int pci_msi_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)