浏览代码

PCI: Refactor pci_bus_assign_domain_nr() for CONFIG_PCI_DOMAINS_GENERIC

Instead of assigning bus->domain_nr inside pci_bus_assign_domain_nr(),
return the domain and let the caller do the assignment.  Rename
pci_bus_assign_domain_nr() to pci_bus_find_domain_nr() to reflect this.

No functional change intended.

[bhelgaas: changelog]
Signed-off-by: Tomasz Nowicki <tn@semihalf.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Tomasz Nowicki 9 年之前
父节点
当前提交
9c7cb891ec
共有 3 个文件被更改,包括 6 次插入9 次删除
  1. 2 2
      drivers/pci/pci.c
  2. 3 1
      drivers/pci/probe.c
  3. 1 6
      include/linux/pci.h

+ 2 - 2
drivers/pci/pci.c

@@ -4941,7 +4941,7 @@ int pci_get_new_domain_nr(void)
 }
 }
 
 
 #ifdef CONFIG_PCI_DOMAINS_GENERIC
 #ifdef CONFIG_PCI_DOMAINS_GENERIC
-void pci_bus_assign_domain_nr(struct pci_bus *bus, struct device *parent)
+int pci_bus_find_domain_nr(struct pci_bus *bus, struct device *parent)
 {
 {
 	static int use_dt_domains = -1;
 	static int use_dt_domains = -1;
 	int domain = -1;
 	int domain = -1;
@@ -4985,7 +4985,7 @@ void pci_bus_assign_domain_nr(struct pci_bus *bus, struct device *parent)
 		domain = -1;
 		domain = -1;
 	}
 	}
 
 
-	bus->domain_nr = domain;
+	return domain;
 }
 }
 #endif
 #endif
 #endif
 #endif

+ 3 - 1
drivers/pci/probe.c

@@ -2127,7 +2127,9 @@ struct pci_bus *pci_create_root_bus(struct device *parent, int bus,
 	b->sysdata = sysdata;
 	b->sysdata = sysdata;
 	b->ops = ops;
 	b->ops = ops;
 	b->number = b->busn_res.start = bus;
 	b->number = b->busn_res.start = bus;
-	pci_bus_assign_domain_nr(b, parent);
+#ifdef CONFIG_PCI_DOMAINS_GENERIC
+	b->domain_nr = pci_bus_find_domain_nr(b, parent);
+#endif
 	b2 = pci_find_bus(pci_domain_nr(b), bus);
 	b2 = pci_find_bus(pci_domain_nr(b), bus);
 	if (b2) {
 	if (b2) {
 		/* If we already got to this bus through a different bridge, ignore it */
 		/* If we already got to this bus through a different bridge, ignore it */

+ 1 - 6
include/linux/pci.h

@@ -1390,12 +1390,7 @@ static inline int pci_domain_nr(struct pci_bus *bus)
 {
 {
 	return bus->domain_nr;
 	return bus->domain_nr;
 }
 }
-void pci_bus_assign_domain_nr(struct pci_bus *bus, struct device *parent);
-#else
-static inline void pci_bus_assign_domain_nr(struct pci_bus *bus,
-					struct device *parent)
-{
-}
+int pci_bus_find_domain_nr(struct pci_bus *bus, struct device *parent);
 #endif
 #endif
 
 
 /* some architectures require additional setup to direct VGA traffic */
 /* some architectures require additional setup to direct VGA traffic */