On 2015/10/27 7:15, jakeo@xxxxxxxxxxxxx wrote: > From: Jake Oshins <jakeo@xxxxxxxxxxxxx> > > The existing PCI code looks for an IRQ domain associated with a root PCI bus > by looking in the Open Firmware tree. This patch introduces a second way > to identify the associated IRQ domain, if the lookup in the OF tree fails. > The handle used for the IRQ domain lookup was introduced in the previous patch > in the series. > > Signed-off-by: Jake Oshins <jakeo@xxxxxxxxxxxxx> > --- > drivers/pci/probe.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c > index c0f2e44..62c9ac7 100644 > --- a/drivers/pci/probe.c > +++ b/drivers/pci/probe.c > @@ -664,6 +664,7 @@ static void pci_set_bus_speed(struct pci_bus *bus) > static struct irq_domain *pci_host_bridge_msi_domain(struct pci_bus *bus) > { > struct irq_domain *d; > + struct pci_host_bridge *host_bridge; > > /* > * Any firmware interface that can resolve the msi_domain > @@ -671,6 +672,18 @@ static struct irq_domain *pci_host_bridge_msi_domain(struct pci_bus *bus) > */ > d = pci_host_bridge_of_msi_domain(bus); > > + /* > + * If no IRQ domain was found via the OF tree, try looking it up > + * directly through the fwnode_handle. > + */ > + if (!d) { > + host_bridge = to_pci_host_bridge(bus->bridge); > + if (host_bridge->fwnode) { > + d = irq_find_matching_fwnode(host_bridge->fwnode, > + DOMAIN_BUS_ANY); Should we use DOMAIN_BUS_PCI_MSI instead here? > + } > + } > + > return d; > } > > _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel