Re: [PATCH v5 31/42] powerpc/pci: Move pcibios_find_pci_bus() around

2015-06-09 Thread Gavin Shan
On Fri, Jun 05, 2015 at 02:47:30PM -0500, Bjorn Helgaas wrote:
Move pcibios_find_pci_bus() from pSeries to generic powerpc code?

On Thu, Jun 04, 2015 at 04:42:00PM +1000, Gavin Shan wrote:
 The patch moves pcibios_find_pci_bus() to PPC kerenl directory so

s/kerenl/kernel/


Thanks. I'll fix it in next revision.

Thanks,
Gavin

 that it can be reused by hotplug code for pSeries and PowerNV
 platform at the same time.
 
 Signed-off-by: Gavin Shan gws...@linux.vnet.ibm.com
 Acked-by: Benjamin Herrenschmidt b...@kernel.crashing.org
 ---
 v5:
   * Derived from PATCH[v4 12/21]
 ---
  arch/powerpc/kernel/pci-hotplug.c  | 36 
 ++
  arch/powerpc/platforms/pseries/pci_dlpar.c | 32 --
  2 files changed, 36 insertions(+), 32 deletions(-)
 
 diff --git a/arch/powerpc/kernel/pci-hotplug.c 
 b/arch/powerpc/kernel/pci-hotplug.c
 index ca392fc..1482bc1 100644
 --- a/arch/powerpc/kernel/pci-hotplug.c
 +++ b/arch/powerpc/kernel/pci-hotplug.c
 @@ -21,6 +21,42 @@
  #include asm/firmware.h
  #include asm/eeh.h
  
 +static struct pci_bus *find_pci_bus(struct pci_bus *bus,
 +struct device_node *dn)
 +{
 +struct pci_bus *tmp, *child = NULL;
 +struct device_node *busdn;
 +
 +busdn = pci_bus_to_OF_node(bus);
 +if (busdn == dn)
 +return bus;
 +
 +list_for_each_entry(tmp, bus-children, node) {
 +child = find_pci_bus(tmp, dn);
 +if (child)
 +break;
 +}
 +
 +return child;
 +}
 +
 +/**
 + * pcibios_find_pci_bus - find PCI bus according to the given device node
 + * @dn: Device node
 + *
 + * Find the corresponding PCI bus according to the given device node.
 + */
 +struct pci_bus *pcibios_find_pci_bus(struct device_node *dn)
 +{
 +struct pci_dn *pdn = PCI_DN(dn);
 +
 +if (!pdn  || !pdn-phb || !pdn-phb-bus)
 +return NULL;
 +
 +return find_pci_bus(pdn-phb-bus, dn);
 +}
 +EXPORT_SYMBOL_GPL(pcibios_find_pci_bus);
 +
  /**
   * pcibios_release_device - release PCI device
   * @dev: PCI device
 diff --git a/arch/powerpc/platforms/pseries/pci_dlpar.c 
 b/arch/powerpc/platforms/pseries/pci_dlpar.c
 index 5d4a3df..906dbaa 100644
 --- a/arch/powerpc/platforms/pseries/pci_dlpar.c
 +++ b/arch/powerpc/platforms/pseries/pci_dlpar.c
 @@ -34,38 +34,6 @@
  
  #include pseries.h
  
 -static struct pci_bus *
 -find_bus_among_children(struct pci_bus *bus,
 -struct device_node *dn)
 -{
 -struct pci_bus *child = NULL;
 -struct pci_bus *tmp;
 -struct device_node *busdn;
 -
 -busdn = pci_bus_to_OF_node(bus);
 -if (busdn == dn)
 -return bus;
 -
 -list_for_each_entry(tmp, bus-children, node) {
 -child = find_bus_among_children(tmp, dn);
 -if (child)
 -break;
 -};
 -return child;
 -}
 -
 -struct pci_bus *
 -pcibios_find_pci_bus(struct device_node *dn)
 -{
 -struct pci_dn *pdn = dn-data;
 -
 -if (!pdn  || !pdn-phb || !pdn-phb-bus)
 -return NULL;
 -
 -return find_bus_among_children(pdn-phb-bus, dn);
 -}
 -EXPORT_SYMBOL_GPL(pcibios_find_pci_bus);
 -
  struct pci_controller *init_phb_dynamic(struct device_node *dn)
  {
  struct pci_controller *phb;
 -- 
 2.1.0
 


___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH v5 31/42] powerpc/pci: Move pcibios_find_pci_bus() around

2015-06-05 Thread Bjorn Helgaas
Move pcibios_find_pci_bus() from pSeries to generic powerpc code?

On Thu, Jun 04, 2015 at 04:42:00PM +1000, Gavin Shan wrote:
 The patch moves pcibios_find_pci_bus() to PPC kerenl directory so

s/kerenl/kernel/

 that it can be reused by hotplug code for pSeries and PowerNV
 platform at the same time.
 
 Signed-off-by: Gavin Shan gws...@linux.vnet.ibm.com
 Acked-by: Benjamin Herrenschmidt b...@kernel.crashing.org
 ---
 v5:
   * Derived from PATCH[v4 12/21]
 ---
  arch/powerpc/kernel/pci-hotplug.c  | 36 
 ++
  arch/powerpc/platforms/pseries/pci_dlpar.c | 32 --
  2 files changed, 36 insertions(+), 32 deletions(-)
 
 diff --git a/arch/powerpc/kernel/pci-hotplug.c 
 b/arch/powerpc/kernel/pci-hotplug.c
 index ca392fc..1482bc1 100644
 --- a/arch/powerpc/kernel/pci-hotplug.c
 +++ b/arch/powerpc/kernel/pci-hotplug.c
 @@ -21,6 +21,42 @@
  #include asm/firmware.h
  #include asm/eeh.h
  
 +static struct pci_bus *find_pci_bus(struct pci_bus *bus,
 + struct device_node *dn)
 +{
 + struct pci_bus *tmp, *child = NULL;
 + struct device_node *busdn;
 +
 + busdn = pci_bus_to_OF_node(bus);
 + if (busdn == dn)
 + return bus;
 +
 + list_for_each_entry(tmp, bus-children, node) {
 + child = find_pci_bus(tmp, dn);
 + if (child)
 + break;
 + }
 +
 + return child;
 +}
 +
 +/**
 + * pcibios_find_pci_bus - find PCI bus according to the given device node
 + * @dn: Device node
 + *
 + * Find the corresponding PCI bus according to the given device node.
 + */
 +struct pci_bus *pcibios_find_pci_bus(struct device_node *dn)
 +{
 + struct pci_dn *pdn = PCI_DN(dn);
 +
 + if (!pdn  || !pdn-phb || !pdn-phb-bus)
 + return NULL;
 +
 + return find_pci_bus(pdn-phb-bus, dn);
 +}
 +EXPORT_SYMBOL_GPL(pcibios_find_pci_bus);
 +
  /**
   * pcibios_release_device - release PCI device
   * @dev: PCI device
 diff --git a/arch/powerpc/platforms/pseries/pci_dlpar.c 
 b/arch/powerpc/platforms/pseries/pci_dlpar.c
 index 5d4a3df..906dbaa 100644
 --- a/arch/powerpc/platforms/pseries/pci_dlpar.c
 +++ b/arch/powerpc/platforms/pseries/pci_dlpar.c
 @@ -34,38 +34,6 @@
  
  #include pseries.h
  
 -static struct pci_bus *
 -find_bus_among_children(struct pci_bus *bus,
 -struct device_node *dn)
 -{
 - struct pci_bus *child = NULL;
 - struct pci_bus *tmp;
 - struct device_node *busdn;
 -
 - busdn = pci_bus_to_OF_node(bus);
 - if (busdn == dn)
 - return bus;
 -
 - list_for_each_entry(tmp, bus-children, node) {
 - child = find_bus_among_children(tmp, dn);
 - if (child)
 - break;
 - };
 - return child;
 -}
 -
 -struct pci_bus *
 -pcibios_find_pci_bus(struct device_node *dn)
 -{
 - struct pci_dn *pdn = dn-data;
 -
 - if (!pdn  || !pdn-phb || !pdn-phb-bus)
 - return NULL;
 -
 - return find_bus_among_children(pdn-phb-bus, dn);
 -}
 -EXPORT_SYMBOL_GPL(pcibios_find_pci_bus);
 -
  struct pci_controller *init_phb_dynamic(struct device_node *dn)
  {
   struct pci_controller *phb;
 -- 
 2.1.0
 
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH v5 31/42] powerpc/pci: Move pcibios_find_pci_bus() around

2015-06-04 Thread Gavin Shan
The patch moves pcibios_find_pci_bus() to PPC kerenl directory so
that it can be reused by hotplug code for pSeries and PowerNV
platform at the same time.

Signed-off-by: Gavin Shan gws...@linux.vnet.ibm.com
Acked-by: Benjamin Herrenschmidt b...@kernel.crashing.org
---
v5:
  * Derived from PATCH[v4 12/21]
---
 arch/powerpc/kernel/pci-hotplug.c  | 36 ++
 arch/powerpc/platforms/pseries/pci_dlpar.c | 32 --
 2 files changed, 36 insertions(+), 32 deletions(-)

diff --git a/arch/powerpc/kernel/pci-hotplug.c 
b/arch/powerpc/kernel/pci-hotplug.c
index ca392fc..1482bc1 100644
--- a/arch/powerpc/kernel/pci-hotplug.c
+++ b/arch/powerpc/kernel/pci-hotplug.c
@@ -21,6 +21,42 @@
 #include asm/firmware.h
 #include asm/eeh.h
 
+static struct pci_bus *find_pci_bus(struct pci_bus *bus,
+   struct device_node *dn)
+{
+   struct pci_bus *tmp, *child = NULL;
+   struct device_node *busdn;
+
+   busdn = pci_bus_to_OF_node(bus);
+   if (busdn == dn)
+   return bus;
+
+   list_for_each_entry(tmp, bus-children, node) {
+   child = find_pci_bus(tmp, dn);
+   if (child)
+   break;
+   }
+
+   return child;
+}
+
+/**
+ * pcibios_find_pci_bus - find PCI bus according to the given device node
+ * @dn: Device node
+ *
+ * Find the corresponding PCI bus according to the given device node.
+ */
+struct pci_bus *pcibios_find_pci_bus(struct device_node *dn)
+{
+   struct pci_dn *pdn = PCI_DN(dn);
+
+   if (!pdn  || !pdn-phb || !pdn-phb-bus)
+   return NULL;
+
+   return find_pci_bus(pdn-phb-bus, dn);
+}
+EXPORT_SYMBOL_GPL(pcibios_find_pci_bus);
+
 /**
  * pcibios_release_device - release PCI device
  * @dev: PCI device
diff --git a/arch/powerpc/platforms/pseries/pci_dlpar.c 
b/arch/powerpc/platforms/pseries/pci_dlpar.c
index 5d4a3df..906dbaa 100644
--- a/arch/powerpc/platforms/pseries/pci_dlpar.c
+++ b/arch/powerpc/platforms/pseries/pci_dlpar.c
@@ -34,38 +34,6 @@
 
 #include pseries.h
 
-static struct pci_bus *
-find_bus_among_children(struct pci_bus *bus,
-struct device_node *dn)
-{
-   struct pci_bus *child = NULL;
-   struct pci_bus *tmp;
-   struct device_node *busdn;
-
-   busdn = pci_bus_to_OF_node(bus);
-   if (busdn == dn)
-   return bus;
-
-   list_for_each_entry(tmp, bus-children, node) {
-   child = find_bus_among_children(tmp, dn);
-   if (child)
-   break;
-   };
-   return child;
-}
-
-struct pci_bus *
-pcibios_find_pci_bus(struct device_node *dn)
-{
-   struct pci_dn *pdn = dn-data;
-
-   if (!pdn  || !pdn-phb || !pdn-phb-bus)
-   return NULL;
-
-   return find_bus_among_children(pdn-phb-bus, dn);
-}
-EXPORT_SYMBOL_GPL(pcibios_find_pci_bus);
-
 struct pci_controller *init_phb_dynamic(struct device_node *dn)
 {
struct pci_controller *phb;
-- 
2.1.0

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev