forked from Minki/linux
PCI/MSI: Let pci_msi_get_domain use struct device::msi_domain
Now that we can easily find which MSI domain a PCI device is using, use dev_get_msi_domain as a way to retrieve the information. The original code is still used as a fallback. Acked-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Hanjun Guo <hanjun.guo@linaro.org> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Cc: <linux-arm-kernel@lists.infradead.org> Cc: Yijing Wang <wangyijing@huawei.com> Cc: Ma Jun <majun258@huawei.com> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Cc: Duc Dang <dhdang@apm.com> Cc: Jiang Liu <jiang.liu@linux.intel.com> Cc: Jason Cooper <jason@lakedaemon.net> Link: http://lkml.kernel.org/r/1438091186-10244-8-git-send-email-marc.zyngier@arm.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
471c931cb2
commit
d8a1cb7575
@ -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)
|
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_get_msi_domain(&dev->dev);
|
||||||
domain = dev->bus->msi->domain;
|
if (domain)
|
||||||
if (!domain)
|
return domain;
|
||||||
domain = arch_get_pci_msi_domain(dev);
|
|
||||||
|
|
||||||
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)
|
static int pci_msi_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
|
||||||
|
Loading…
Reference in New Issue
Block a user