All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yijing Wang <wangyijing@huawei.com>
Cc: Jiang Liu <jiang.liu@linux.intel.com>,
	linux-pci@vger.kernel.org, Yinghai Lu <yinghai@kernel.org>,
	linux-kernel@vger.kernel.org, Marc Zyngier <marc.zyngier@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	Russell King <linux@arm.linux.org.uk>,
	x86@kernel.org, Thomas Gleixner <tglx@linutronix.de>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Rusty Russell <rusty@rustcorp.com.au>,
	Tony Luck <tony.luck@intel.com>,
	linux-ia64@vger.kernel.org,
	"David S. Miller" <davem@davemloft.net>,
	Guan Xuetao <gxt@mprc.pku.edu.cn>,
	linux-alpha@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	Liviu Dudau <liviu@dudau.co.uk>, Arnd Bergmann <arnd@arndb.de>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Yijing Wang <wangyijing@huawei.com>,
	linuxppc-dev@lists.ozlabs.org,
	Bjorn Helgaas <bhelgaas@google.com>
Subject: [PATCH v6 17/30] powerpc/pci: Use pci_scan_host_bridge() for simplicity
Date: Mon, 9 Mar 2015 10:34:14 +0800	[thread overview]
Message-ID: <1425868467-9667-18-git-send-email-wangyijing__33578.0101515867$1425869390$gmane$org@huawei.com> (raw)
In-Reply-To: <1425868467-9667-1-git-send-email-wangyijing@huawei.com>

Now we could use pci_scan_host_bridge() to scan
pci buses, provide powerpc specific pci_host_bridge_ops.

Suggested-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Yijing Wang <wangyijing@huawei.com>
CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
CC: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
---
 arch/powerpc/include/asm/machdep.h       |    2 +-
 arch/powerpc/kernel/pci-common.c         |   63 +++++++++++++++++------------
 arch/powerpc/platforms/pseries/pci.c     |    8 ++--
 arch/powerpc/platforms/pseries/pseries.h |    2 +-
 4 files changed, 43 insertions(+), 32 deletions(-)

diff --git a/arch/powerpc/include/asm/machdep.h b/arch/powerpc/include/asm/machdep.h
index 8e7f2a8..b811d12 100644
--- a/arch/powerpc/include/asm/machdep.h
+++ b/arch/powerpc/include/asm/machdep.h
@@ -129,7 +129,7 @@ struct machdep_calls {
 	void		(*pcibios_fixup)(void);
 	int		(*pci_probe_mode)(struct pci_bus *);
 	void		(*pci_irq_fixup)(struct pci_dev *dev);
-	int		(*pcibios_set_root_bus_speed)(struct pci_host_bridge
+	void		(*pcibios_set_root_bus_speed)(struct pci_host_bridge
 				*bridge);
 
 	/* To setup PHBs when using automatic OF platform driver for PCI */
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c
index 0d8b369..74cbb5d 100644
--- a/arch/powerpc/kernel/pci-common.c
+++ b/arch/powerpc/kernel/pci-common.c
@@ -767,14 +767,35 @@ int pci_proc_domain(struct pci_bus *bus)
 	return 1;
 }
 
-int pcibios_root_bridge_prepare(struct pci_host_bridge *bridge)
+static void pci_host_bridge_set_root_bus_speed(
+		struct pci_host_bridge *bridge)
 {
 	if (ppc_md.pcibios_set_root_bus_speed)
-		return ppc_md.pcibios_set_root_bus_speed(bridge);
+		ppc_md.pcibios_set_root_bus_speed(bridge);
+}
 
-	return 0;
+static void pci_host_bridge_of_scan_bus(struct pci_host_bridge *host)
+{
+	int mode = PCI_PROBE_NORMAL;
+	struct pci_bus *bus = host->bus;
+	struct pci_controller *hose = dev_get_drvdata(&host->dev);
+
+	/* Get probe mode and perform scan */
+	if (hose->dn && ppc_md.pci_probe_mode)
+		mode = ppc_md.pci_probe_mode(bus);
+
+	pr_debug("    probe mode: %d\n", mode);
+	if (mode == PCI_PROBE_DEVTREE)
+		of_scan_bus(hose->dn, bus);
+
+	if (mode == PCI_PROBE_NORMAL) {
+		pci_bus_update_busn_res_end(bus, 255);
+		hose->last_busno = pci_scan_child_bus(bus);
+		pci_bus_update_busn_res_end(bus, hose->last_busno);
+	}
 }
 
+
 /* This header fixup will do the resource fixup for all devices as they are
  * probed, but not for bridge ranges
  */
@@ -1587,6 +1608,11 @@ struct device_node *pcibios_get_phb_of_node(struct pci_bus *bus)
 	return of_node_get(hose->dn);
 }
 
+static struct pci_host_bridge_ops phb_ops = {
+	.set_root_bus_speed = pci_host_bridge_set_root_bus_speed,
+	.scan_bus = pci_host_bridge_of_scan_bus,
+};
+
 /**
  * pci_scan_phb - Given a pci_controller, setup and scan the PCI bus
  * @hose: Pointer to the PCI host controller instance structure
@@ -1594,9 +1620,8 @@ struct device_node *pcibios_get_phb_of_node(struct pci_bus *bus)
 void pcibios_scan_phb(struct pci_controller *hose)
 {
 	LIST_HEAD(resources);
-	struct pci_bus *bus;
+	struct pci_host_bridge *host;
 	struct device_node *node = hose->dn;
-	int mode;
 
 	pr_debug("PCI: Scanning PHB %s\n", of_node_full_name(node));
 
@@ -1612,30 +1637,16 @@ void pcibios_scan_phb(struct pci_controller *hose)
 	pci_add_resource(&resources, &hose->busn);
 
 	/* Create an empty bus for the toplevel */
-	bus = pci_create_root_bus(hose->parent,
+	host = pci_scan_host_bridge(hose->parent,
 			PCI_DOMBUS(hose->global_number, hose->first_busno),
-			hose->ops, hose, &resources);
-	if (bus == NULL) {
-		pr_err("Failed to create bus for PCI domain %04x\n",
+			hose->ops, hose, &resources, &phb_ops);
+	if (host == NULL) {
+		pr_err("Failed to create host bridge for PCI domain %04x\n",
 			hose->global_number);
 		pci_free_resource_list(&resources);
 		return;
 	}
-	hose->bus = bus;
-
-	/* Get probe mode and perform scan */
-	mode = PCI_PROBE_NORMAL;
-	if (node && ppc_md.pci_probe_mode)
-		mode = ppc_md.pci_probe_mode(bus);
-	pr_debug("    probe mode: %d\n", mode);
-	if (mode == PCI_PROBE_DEVTREE)
-		of_scan_bus(node, bus);
-
-	if (mode == PCI_PROBE_NORMAL) {
-		pci_bus_update_busn_res_end(bus, 255);
-		hose->last_busno = pci_scan_child_bus(bus);
-		pci_bus_update_busn_res_end(bus, hose->last_busno);
-	}
+	hose->bus = host->bus;
 
 	/* Platform gets a chance to do some global fixups before
 	 * we proceed to resource allocation
@@ -1644,9 +1655,9 @@ void pcibios_scan_phb(struct pci_controller *hose)
 		ppc_md.pcibios_fixup_phb(hose);
 
 	/* Configure PCI Express settings */
-	if (bus && !pci_has_flag(PCI_PROBE_ONLY)) {
+	if (host->bus && !pci_has_flag(PCI_PROBE_ONLY)) {
 		struct pci_bus *child;
-		list_for_each_entry(child, &bus->children, node)
+		list_for_each_entry(child, &host->bus->children, node)
 			pcie_bus_configure_settings(child);
 	}
 }
diff --git a/arch/powerpc/platforms/pseries/pci.c b/arch/powerpc/platforms/pseries/pci.c
index af685d6..89ff79c 100644
--- a/arch/powerpc/platforms/pseries/pci.c
+++ b/arch/powerpc/platforms/pseries/pci.c
@@ -110,7 +110,7 @@ static void fixup_winbond_82c105(struct pci_dev* dev)
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_WINBOND, PCI_DEVICE_ID_WINBOND_82C105,
 			 fixup_winbond_82c105);
 
-int pseries_set_root_bus_speed(struct pci_host_bridge *bridge)
+void pseries_set_root_bus_speed(struct pci_host_bridge *bridge)
 {
 	struct device_node *dn, *pdn;
 	struct pci_bus *bus;
@@ -121,7 +121,7 @@ int pseries_set_root_bus_speed(struct pci_host_bridge *bridge)
 
 	dn = pcibios_get_phb_of_node(bus);
 	if (!dn)
-		return 0;
+		return;
 
 	for (pdn = dn; pdn != NULL; pdn = of_get_next_parent(pdn)) {
 		rc = of_property_read_u32_array(pdn,
@@ -135,7 +135,7 @@ int pseries_set_root_bus_speed(struct pci_host_bridge *bridge)
 
 	if (rc) {
 		pr_debug("no ibm,pcie-link-speed-stats property\n");
-		return 0;
+		return;
 	}
 
 	switch (pcie_link_speed_stats[0]) {
@@ -168,5 +168,5 @@ int pseries_set_root_bus_speed(struct pci_host_bridge *bridge)
 		break;
 	}
 
-	return 0;
+	return;
 }
diff --git a/arch/powerpc/platforms/pseries/pseries.h b/arch/powerpc/platforms/pseries/pseries.h
index 5d0be3a..9aa9c13 100644
--- a/arch/powerpc/platforms/pseries/pseries.h
+++ b/arch/powerpc/platforms/pseries/pseries.h
@@ -63,7 +63,7 @@ extern int dlpar_detach_node(struct device_node *);
 
 /* PCI root bridge prepare function override for pseries */
 struct pci_host_bridge;
-int pseries_set_root_bus_speed(struct pci_host_bridge *bridge);
+void pseries_set_root_bus_speed(struct pci_host_bridge *bridge);
 
 unsigned long pseries_memory_block_size(void);
 
-- 
1.7.1

  parent reply	other threads:[~2015-03-09  2:34 UTC|newest]

Thread overview: 513+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-09  2:33 [PATCH v6 00/30] Refine PCI scan interfaces and make generic pci host bridge Yijing Wang
2015-03-09  2:33 ` Yijing Wang
2015-03-09  2:33 ` Yijing Wang
2015-03-09  2:33 ` Yijing Wang
2015-03-09  2:33 ` Yijing Wang
2015-03-09  2:33 ` [PATCH v6 01/30] PCI: Rip out pci_bus_add_devices() from pci_scan_bus() Yijing Wang
2015-03-09  2:33   ` Yijing Wang
2015-03-09  2:33   ` Yijing Wang
2015-03-09  2:33   ` Yijing Wang
2015-03-09  2:33   ` Yijing Wang
2015-03-09  2:33   ` Yijing Wang
2015-03-09  2:33 ` Yijing Wang
2015-03-09  2:33 ` [PATCH v6 02/30] PCI: Rip out pci_bus_add_devices() from pci_scan_root_bus() Yijing Wang
2015-03-09  2:33 ` Yijing Wang
2015-03-09  2:33   ` Yijing Wang
2015-03-09  2:33   ` Yijing Wang
2015-03-09  2:33   ` Yijing Wang
2015-03-09  2:33   ` Yijing Wang
2015-03-09  2:33   ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 03/30] PCI: Export busn_resource to drivers/pci Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-11 22:28   ` Bjorn Helgaas
2015-03-11 22:28   ` Bjorn Helgaas
2015-03-11 22:28     ` Bjorn Helgaas
2015-03-11 22:28     ` Bjorn Helgaas
2015-03-11 22:28     ` Bjorn Helgaas
2015-03-12 11:42     ` Yijing Wang
2015-03-12 11:42     ` Yijing Wang
2015-03-12 11:42       ` Yijing Wang
2015-03-12 11:42       ` Yijing Wang
2015-03-12 11:42       ` Yijing Wang
2015-03-12 11:42       ` Yijing Wang
2015-03-12 19:32       ` Bjorn Helgaas
2015-03-12 19:32         ` Bjorn Helgaas
2015-03-12 19:32         ` Bjorn Helgaas
2015-03-12 19:32         ` Bjorn Helgaas
2015-03-13  1:57         ` Yijing Wang
2015-03-13  1:57           ` Yijing Wang
2015-03-13  1:57           ` Yijing Wang
2015-03-13  1:57           ` Yijing Wang
2015-03-13  1:57           ` Yijing Wang
2015-03-13  1:57         ` Yijing Wang
2015-03-09  2:34 ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 04/30] xen/PCI: Don't use deprecated function pci_scan_bus_parented() Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-11 22:32   ` Bjorn Helgaas
2015-03-11 22:32   ` Bjorn Helgaas
2015-03-11 22:32   ` Bjorn Helgaas
2015-03-11 22:32     ` Bjorn Helgaas
2015-03-11 22:32     ` Bjorn Helgaas
2015-03-11 22:32     ` Bjorn Helgaas
2015-03-12 11:46     ` Yijing Wang
2015-03-12 11:46       ` Yijing Wang
2015-03-12 11:46       ` Yijing Wang
2015-03-12 11:46       ` Yijing Wang
2015-03-12 11:46       ` Yijing Wang
2015-03-12 19:35       ` Bjorn Helgaas
2015-03-12 19:35       ` Bjorn Helgaas
2015-03-12 19:35       ` Bjorn Helgaas
2015-03-12 19:35         ` Bjorn Helgaas
2015-03-12 19:35         ` Bjorn Helgaas
2015-03-12 19:35         ` Bjorn Helgaas
2015-03-13  2:36         ` Yijing Wang
2015-03-13  2:36         ` Yijing Wang
2015-03-13  2:36           ` Yijing Wang
2015-03-13  2:36           ` Yijing Wang
2015-03-13  2:36           ` Yijing Wang
2015-03-13  2:36           ` Yijing Wang
2015-03-13 13:24           ` Bjorn Helgaas
2015-03-13 13:24           ` Bjorn Helgaas
2015-03-13 13:24           ` Bjorn Helgaas
2015-03-13 13:24             ` Bjorn Helgaas
2015-03-13 13:24             ` Bjorn Helgaas
2015-03-13 13:24             ` Bjorn Helgaas
2015-03-13 13:24             ` Bjorn Helgaas
2015-03-13 14:01             ` Konrad Rzeszutek Wilk
2015-03-13 14:01               ` Konrad Rzeszutek Wilk
2015-03-13 14:01               ` Konrad Rzeszutek Wilk
2015-03-13 14:01               ` Konrad Rzeszutek Wilk
2015-03-13 14:26               ` Bjorn Helgaas
2015-03-13 14:26                 ` Bjorn Helgaas
2015-03-13 14:26                 ` Bjorn Helgaas
2015-03-13 14:26                 ` Bjorn Helgaas
2015-03-25 19:23                 ` Konrad Rzeszutek Wilk
2015-03-25 19:23                   ` Konrad Rzeszutek Wilk
2015-03-25 19:23                   ` Konrad Rzeszutek Wilk
2015-03-25 19:23                   ` Konrad Rzeszutek Wilk
2015-03-26  1:18                   ` Yijing Wang
2015-03-26  1:18                   ` Yijing Wang
2015-03-26  1:18                     ` Yijing Wang
2015-03-26  1:18                     ` Yijing Wang
2015-03-26  1:18                     ` Yijing Wang
2015-03-26  7:30                   ` Yijing Wang
2015-03-26  7:30                     ` Yijing Wang
2015-03-26  7:30                     ` Yijing Wang
2015-03-26  7:30                     ` Yijing Wang
2015-03-26  7:30                   ` Yijing Wang
2015-03-25 19:23                 ` Konrad Rzeszutek Wilk
2015-03-13 14:26               ` Bjorn Helgaas
2015-03-13 14:01             ` Konrad Rzeszutek Wilk
2015-03-12 11:46     ` Yijing Wang
2015-03-12 11:46     ` Yijing Wang
2015-03-09  2:34 ` Yijing Wang
2015-03-09  2:34 ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 05/30] PCI: Remove deprecated pci_scan_bus_parented() Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 06/30] PCI: Combine PCI domain and bus number in u32 arg Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-12  1:29   ` Bjorn Helgaas
2015-03-12  1:29   ` Bjorn Helgaas
2015-03-12  1:29     ` Bjorn Helgaas
2015-03-12  1:29     ` Bjorn Helgaas
2015-03-12  1:29     ` Bjorn Helgaas
2015-03-12 12:14     ` Yijing Wang
2015-03-12 12:14     ` Yijing Wang
2015-03-12 12:14       ` Yijing Wang
2015-03-12 12:14       ` Yijing Wang
2015-03-12 12:14       ` Yijing Wang
2015-03-12 12:14       ` Yijing Wang
2015-03-12 19:49       ` Bjorn Helgaas
2015-03-12 19:49       ` Bjorn Helgaas
2015-03-12 19:49         ` Bjorn Helgaas
2015-03-12 19:49         ` Bjorn Helgaas
2015-03-12 19:49         ` Bjorn Helgaas
2015-03-13  3:19         ` Yijing Wang
2015-03-13  3:19         ` Yijing Wang
2015-03-13  3:19           ` Yijing Wang
2015-03-13  3:19           ` Yijing Wang
2015-03-13  3:19           ` Yijing Wang
2015-03-13  3:19           ` Yijing Wang
2015-03-09  2:34 ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 07/30] PCI: Pass PCI domain number combined with root bus number Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-12  1:34   ` Bjorn Helgaas
2015-03-12  1:34   ` Bjorn Helgaas
2015-03-12  1:34   ` Bjorn Helgaas
2015-03-12  1:34     ` Bjorn Helgaas
2015-03-12  1:34     ` Bjorn Helgaas
2015-03-12  1:34     ` Bjorn Helgaas
2015-03-12  1:34     ` Bjorn Helgaas
2015-03-12  1:34     ` Bjorn Helgaas
2015-03-12 12:20     ` Yijing Wang
2015-03-12 12:20     ` Yijing Wang
2015-03-12 12:20     ` Yijing Wang
2015-03-12 12:20       ` Yijing Wang
2015-03-12 12:20       ` Yijing Wang
2015-03-12 12:20       ` Yijing Wang
2015-03-12 12:20       ` Yijing Wang
2015-03-12 12:20       ` Yijing Wang
2015-03-12 12:20       ` Yijing Wang
2015-03-17  5:15   ` [Xen-devel] " Manish Jaggi
2015-03-17  5:27     ` Manish Jaggi
2015-03-17  5:15     ` Manish Jaggi
2015-03-17  5:15     ` Manish Jaggi
2015-03-17  5:15     ` Manish Jaggi
2015-03-17  5:15     ` Manish Jaggi
2015-03-17  5:15     ` Manish Jaggi
2015-03-17 14:05     ` Ian Campbell
2015-03-17 14:05       ` Ian Campbell
2015-03-17 14:05       ` Ian Campbell
2015-03-17 14:05       ` Ian Campbell
2015-03-17 14:05       ` Ian Campbell
2015-03-17 14:05       ` Ian Campbell
2015-03-17 14:05       ` Ian Campbell
2015-03-18  4:26       ` Manish Jaggi
2015-03-18  5:56         ` Yijing Wang
2015-03-17 14:05     ` [Xen-devel] " Ian Campbell
2015-03-17 14:05     ` Ian Campbell
2015-03-17  5:15   ` Manish Jaggi
2015-03-17  5:15   ` [Xen-devel] " Manish Jaggi
2015-03-09  2:34 ` Yijing Wang
2015-03-09  2:34 ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 08/30] PCI: Introduce pci_host_assign_domain_nr() to assign domain Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-12  1:39   ` Bjorn Helgaas
2015-03-12  1:39   ` Bjorn Helgaas
2015-03-12  1:39     ` Bjorn Helgaas
2015-03-12  1:39     ` Bjorn Helgaas
2015-03-12  1:39     ` Bjorn Helgaas
2015-03-12 12:23     ` Yijing Wang
2015-03-12 12:23       ` Yijing Wang
2015-03-12 12:23       ` Yijing Wang
2015-03-12 12:23       ` Yijing Wang
2015-03-12 12:23       ` Yijing Wang
2015-03-12 12:23     ` Yijing Wang
2015-03-09  2:34 ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 09/30] PCI: Separate pci_host_bridge creation out of pci_create_root_bus() Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-12  3:52   ` Bjorn Helgaas
2015-03-12  3:52     ` Bjorn Helgaas
2015-03-12  3:52     ` Bjorn Helgaas
2015-03-12  3:52     ` Bjorn Helgaas
2015-03-12 13:44     ` Yijing Wang
2015-03-12 13:44     ` Yijing Wang
2015-03-12 13:44       ` Yijing Wang
2015-03-12 13:44       ` Yijing Wang
2015-03-12 13:44       ` Yijing Wang
2015-03-12 13:44       ` Yijing Wang
2015-03-12  3:52   ` Bjorn Helgaas
2015-03-21 23:21   ` Suravee Suthikulpanit
2015-03-21 23:21     ` Suravee Suthikulpanit
2015-03-21 23:21     ` Suravee Suthikulpanit
2015-03-21 23:21     ` Suravee Suthikulpanit
2015-03-21 23:21     ` Suravee Suthikulpanit
2015-03-23  1:08     ` Yijing Wang
2015-03-23  1:08     ` Yijing Wang
2015-03-23  1:08       ` Yijing Wang
2015-03-23  1:08       ` Yijing Wang
2015-03-23  1:08       ` Yijing Wang
2015-03-23  1:08       ` Yijing Wang
2015-03-09  2:34 ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 10/30] PCI: Introduce pci_host_bridge_list to manage host bridges Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-12  2:55   ` Bjorn Helgaas
2015-03-12  2:55     ` Bjorn Helgaas
2015-03-12  2:55     ` Bjorn Helgaas
2015-03-12  2:55     ` Bjorn Helgaas
2015-03-12 13:03     ` Yijing Wang
2015-03-12 13:03     ` Yijing Wang
2015-03-12 13:03       ` Yijing Wang
2015-03-12 13:03       ` Yijing Wang
2015-03-12 13:03       ` Yijing Wang
2015-03-12 13:03       ` Yijing Wang
2015-03-12 19:56       ` Bjorn Helgaas
2015-03-12 19:56         ` Bjorn Helgaas
2015-03-12 19:56         ` Bjorn Helgaas
2015-03-12 19:56         ` Bjorn Helgaas
2015-03-13  3:28         ` Yijing Wang
2015-03-13  3:28         ` Yijing Wang
2015-03-13  3:28           ` Yijing Wang
2015-03-13  3:28           ` Yijing Wang
2015-03-13  3:28           ` Yijing Wang
2015-03-13  3:28           ` Yijing Wang
2015-03-13 14:33           ` Bjorn Helgaas
2015-03-13 14:33             ` Bjorn Helgaas
2015-03-13 14:33             ` Bjorn Helgaas
2015-03-13 14:33             ` Bjorn Helgaas
2015-03-16  1:28             ` Yijing Wang
2015-03-16  1:28             ` Yijing Wang
2015-03-16  1:28               ` Yijing Wang
2015-03-16  1:28               ` Yijing Wang
2015-03-16  1:28               ` Yijing Wang
2015-03-16  1:28               ` Yijing Wang
2015-03-12 19:56       ` Bjorn Helgaas
2015-03-09  2:34 ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 11/30] PCI: Save sysdata in pci_host_bridge drvdata Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34 ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 12/30] PCI: Introduce pci_host_bridge_ops to support host specific operations Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-12  3:23   ` Bjorn Helgaas
2015-03-12  3:23   ` Bjorn Helgaas
2015-03-12  3:23     ` Bjorn Helgaas
2015-03-12  3:23     ` Bjorn Helgaas
2015-03-12  3:23     ` Bjorn Helgaas
2015-03-12 13:14     ` Yijing Wang
2015-03-12 13:14     ` Yijing Wang
2015-03-12 13:14       ` Yijing Wang
2015-03-12 13:14       ` Yijing Wang
2015-03-12 13:14       ` Yijing Wang
2015-03-12 13:14       ` Yijing Wang
2015-03-09  2:34 ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 13/30] PCI: Introduce new scan function pci_scan_host_bridge() Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-12  3:25   ` Bjorn Helgaas
2015-03-12  3:25     ` Bjorn Helgaas
2015-03-12  3:25     ` Bjorn Helgaas
2015-03-12  3:25     ` Bjorn Helgaas
2015-03-12 13:15     ` Yijing Wang
2015-03-12 13:15     ` Yijing Wang
2015-03-12 13:15       ` Yijing Wang
2015-03-12 13:15       ` Yijing Wang
2015-03-12 13:15       ` Yijing Wang
2015-03-12 13:15       ` Yijing Wang
2015-03-12  3:25   ` Bjorn Helgaas
2015-03-09  2:34 ` [PATCH v6 14/30] x86/PCI: Refine pci_acpi_scan_root() with generic pci_host_bridge Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34 ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 15/30] ia64/PCI: " Yijing Wang
2015-03-09  2:34 ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 16/30] powerpc/pci: Rename pcibios_root_bridge_prepare() Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34 ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 17/30] powerpc/pci: Use pci_scan_host_bridge() for simplicity Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34 ` Yijing Wang [this message]
2015-03-09  2:34 ` [PATCH v6 18/30] PCI: Remove weak pcibios_root_bridge_prepare() Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 19/30] sparc/PCI: Claim bus resources before pci_bus_add_devices() Yijing Wang
2015-03-09  2:34 ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 20/30] sparc/PCI: Use pci_scan_host_bridge() for simplicity Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-12  3:30   ` Bjorn Helgaas
2015-03-12  3:30   ` Bjorn Helgaas
2015-03-12  3:30     ` Bjorn Helgaas
2015-03-12  3:30     ` Bjorn Helgaas
2015-03-12  3:30     ` Bjorn Helgaas
2015-03-12  3:30     ` Bjorn Helgaas
2015-03-12 13:17     ` Yijing Wang
2015-03-12 13:17     ` Yijing Wang
2015-03-12 13:17       ` Yijing Wang
2015-03-12 13:17       ` Yijing Wang
2015-03-12 13:17       ` Yijing Wang
2015-03-12 13:17       ` Yijing Wang
2015-03-12 13:17       ` Yijing Wang
2015-03-09  2:34 ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 21/30] PCI: Introduce pci_bus_child_max_busnr() Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-12  3:33   ` Bjorn Helgaas
2015-03-12  3:33     ` Bjorn Helgaas
2015-03-12  3:33     ` Bjorn Helgaas
2015-03-12  3:33     ` Bjorn Helgaas
2015-03-12 13:24     ` Yijing Wang
2015-03-12 13:24     ` Yijing Wang
2015-03-12 13:24       ` Yijing Wang
2015-03-12 13:24       ` Yijing Wang
2015-03-12 13:24       ` Yijing Wang
2015-03-12 13:24       ` Yijing Wang
2015-03-12  3:36   ` Bjorn Helgaas
2015-03-12  3:36   ` Bjorn Helgaas
2015-03-12  3:36     ` Bjorn Helgaas
2015-03-12  3:36     ` Bjorn Helgaas
2015-03-12  3:36     ` Bjorn Helgaas
2015-03-12 13:28     ` Yijing Wang
2015-03-12 13:28       ` Yijing Wang
2015-03-12 13:28       ` Yijing Wang
2015-03-12 13:28       ` Yijing Wang
2015-03-12 13:28       ` Yijing Wang
2015-03-12 20:00       ` Bjorn Helgaas
2015-03-12 20:00         ` Bjorn Helgaas
2015-03-12 20:00         ` Bjorn Helgaas
2015-03-12 20:00         ` Bjorn Helgaas
2015-03-12 20:00       ` Bjorn Helgaas
2015-03-12 13:28     ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 22/30] parisc/PCI: Use pci_scan_root_bus() for simplicity Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34 ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 23/30] PCI/mvebu: Use pci_common_init_dev() to simplify code Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 24/30] PCI/tegra: Remove redundant tegra_pcie_scan_bus() Yijing Wang
2015-03-09  2:34 ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 25/30] PCI/designware: Use pci_scan_root_bus() for simplicity Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34 ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 26/30] PCI/xgene: Use pci_scan_root_bus() instead of pci_create_root_bus() Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34 ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 27/30] PCI: Rename __pci_create_root_bus() to pci_create_root_bus() Yijing Wang
2015-03-09  2:34 ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 28/30] PCI: Export find_pci_host_bridge() and rename to pci_find_host_bridge() Yijing Wang
2015-03-09  2:34 ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-12  3:43   ` Bjorn Helgaas
2015-03-12  3:43   ` Bjorn Helgaas
2015-03-12  3:43     ` Bjorn Helgaas
2015-03-12  3:43     ` Bjorn Helgaas
2015-03-12  3:43     ` Bjorn Helgaas
2015-03-12 13:29     ` Yijing Wang
2015-03-12 13:29       ` Yijing Wang
2015-03-12 13:29       ` Yijing Wang
2015-03-12 13:29       ` Yijing Wang
2015-03-12 13:29       ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 29/30] PCI: Remove platform specific pci_domain_nr() Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34 ` [PATCH v6 30/30] PCI: Remove pci_bus_assign_domain_nr() Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-09  2:34   ` Yijing Wang
2015-03-12  3:48   ` Bjorn Helgaas
2015-03-12  3:48   ` Bjorn Helgaas
2015-03-12  3:48     ` Bjorn Helgaas
2015-03-12  3:48     ` Bjorn Helgaas
2015-03-12  3:48     ` Bjorn Helgaas
2015-03-12 13:32     ` Yijing Wang
2015-03-12 13:32     ` Yijing Wang
2015-03-12 13:32       ` Yijing Wang
2015-03-12 13:32       ` Yijing Wang
2015-03-12 13:32       ` Yijing Wang
2015-03-12 13:32       ` Yijing Wang
2015-03-09  2:34 ` Yijing Wang
2015-03-12 21:23 ` [PATCH v6 00/30] Refine PCI scan interfaces and make generic pci host bridge Bjorn Helgaas
2015-03-12 21:23 ` Bjorn Helgaas
2015-03-12 21:23   ` Bjorn Helgaas
2015-03-12 21:23   ` Bjorn Helgaas
2015-03-12 21:23   ` Bjorn Helgaas
2015-03-13  3:29   ` Yijing Wang
2015-03-13  3:29     ` Yijing Wang
2015-03-13  3:29     ` Yijing Wang
2015-03-13  3:29     ` Yijing Wang
2015-03-13  3:29     ` Yijing Wang
2015-03-13 11:31   ` Liviu Dudau
2015-03-13 11:31   ` Liviu Dudau
2015-03-13 11:31     ` Liviu Dudau
2015-03-13 11:31     ` Liviu Dudau
2015-03-13 14:48     ` Bjorn Helgaas
2015-03-13 14:48       ` Bjorn Helgaas
2015-03-13 14:48       ` Bjorn Helgaas
2015-03-13 14:48       ` Bjorn Helgaas
2015-03-16  1:31       ` Yijing Wang
2015-03-16  1:31         ` Yijing Wang
2015-03-16  1:31         ` Yijing Wang
2015-03-16  1:31         ` Yijing Wang
2015-03-16  1:31         ` Yijing Wang
2015-03-13 14:48     ` Bjorn Helgaas
2015-03-16  1:48     ` Yijing Wang
2015-03-16  1:48     ` Yijing Wang
2015-03-16  1:48       ` Yijing Wang
2015-03-16  1:48       ` Yijing Wang
2015-03-16  1:48       ` Yijing Wang
2015-03-16  1:48       ` Yijing Wang
2015-03-17 10:55       ` Liviu Dudau
2015-03-17 10:55         ` Liviu Dudau
2015-03-17 10:55         ` Liviu Dudau
2015-03-17 10:55       ` Liviu Dudau

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='1425868467-9667-18-git-send-email-wangyijing__33578.0101515867$1425869390$gmane$org@huawei.com' \
    --to=wangyijing@huawei.com \
    --cc=arnd@arndb.de \
    --cc=benh@kernel.crashing.org \
    --cc=bhelgaas@google.com \
    --cc=davem@davemloft.net \
    --cc=geert@linux-m68k.org \
    --cc=gxt@mprc.pku.edu.cn \
    --cc=jiang.liu@linux.intel.com \
    --cc=linux-alpha@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-m68k@lists.linux-m68k.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=liviu@dudau.co.uk \
    --cc=marc.zyngier@arm.com \
    --cc=rusty@rustcorp.com.au \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --cc=x86@kernel.org \
    --cc=yinghai@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.