Message ID | 1445901339-11924-6-git-send-email-jakeo@microsoft.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Bjorn Helgaas |
Headers | show |
Hi Jake, [auto build test ERROR on next-20151022 -- if it's inappropriate base, please suggest rules for selecting the more suitable base] url: https://github.com/0day-ci/linux/commits/jakeo-microsoft-com/New-paravirtual-PCI-front-end-for-Hyper-V-VMs/20151027-072118 config: x86_64-randconfig-x008-10252017 (attached as .config) reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): drivers/pci/probe.c: In function 'pci_host_bridge_msi_domain': >> drivers/pci/probe.c:682:8: error: implicit declaration of function 'irq_find_matching_fwnode' [-Werror=implicit-function-declaration] d = irq_find_matching_fwnode(host_bridge->fwnode, ^ >> drivers/pci/probe.c:683:12: error: 'DOMAIN_BUS_ANY' undeclared (first use in this function) DOMAIN_BUS_ANY); ^ drivers/pci/probe.c:683:12: note: each undeclared identifier is reported only once for each function it appears in cc1: some warnings being treated as errors vim +/irq_find_matching_fwnode +682 drivers/pci/probe.c 676 * If no IRQ domain was found via the OF tree, try looking it up 677 * directly through the fwnode_handle. 678 */ 679 if (!d) { 680 host_bridge = to_pci_host_bridge(bus->bridge); 681 if (host_bridge->fwnode) { > 682 d = irq_find_matching_fwnode(host_bridge->fwnode, > 683 DOMAIN_BUS_ANY); 684 } 685 } 686 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
On 2015/10/27 7:15, jakeo@microsoft.com wrote: > From: Jake Oshins <jakeo@microsoft.com> > > 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@microsoft.com> > --- > 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; > } > > -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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); + } + } + return d; }