summaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-3.8/032-MIPS-implement-pcibios_get_phb_of_node.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/patches-3.8/032-MIPS-implement-pcibios_get_phb_of_node.patch')
-rw-r--r--target/linux/generic/patches-3.8/032-MIPS-implement-pcibios_get_phb_of_node.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/target/linux/generic/patches-3.8/032-MIPS-implement-pcibios_get_phb_of_node.patch b/target/linux/generic/patches-3.8/032-MIPS-implement-pcibios_get_phb_of_node.patch
new file mode 100644
index 000000000..772816558
--- /dev/null
+++ b/target/linux/generic/patches-3.8/032-MIPS-implement-pcibios_get_phb_of_node.patch
@@ -0,0 +1,47 @@
+From fe17cba0e4efb6cf6d1e4e79fa4c6e062fe32b39 Mon Sep 17 00:00:00 2001
+From: Gabor Juhos <juhosg@openwrt.org>
+Date: Wed, 3 Apr 2013 19:28:50 +0200
+Subject: [PATCH 2/2] MIPS: implement pcibios_get_phb_of_node
+
+The of_node field of the device assigned to a
+PCI bus is used during scanning of the PCI bus.
+However on MIPS, the of_node field is assigned
+only after the bus has been scanned.
+
+Implement the architecture specific version of
+'pcibios_get_phb_of_node'. Which ensures that the
+PCI driver core will initialize the of_node field
+before starting the scan.
+
+Also remove the local assignment of bus->dev.of_node,
+it is not needed after the patch.
+
+Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
+---
+ arch/mips/pci/pci.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+--- a/arch/mips/pci/pci.c
++++ b/arch/mips/pci/pci.c
+@@ -115,7 +115,6 @@ static void pcibios_scanbus(struct pci_c
+ pci_bus_assign_resources(bus);
+ pci_enable_bridges(bus);
+ }
+- bus->dev.of_node = hose->of_node;
+ }
+ }
+
+@@ -169,6 +168,13 @@ void pci_load_of_ranges(struct pci_contr
+ }
+ }
+ }
++
++struct device_node *pcibios_get_phb_of_node(struct pci_bus *bus)
++{
++ struct pci_controller *hose = bus->sysdata;
++
++ return of_node_get(hose->of_node);
++}
+ #endif
+
+ static DEFINE_MUTEX(pci_scan_mutex);