Patchwork MIPS: pci: fix build errors in pci_load_of_ranges

login
register
mail settings
Submitter Gabor Juhos
Date April 19, 2013, 7:39 a.m.
Message ID <1366357152-28812-1-git-send-email-juhosg@openwrt.org>
Download mbox | patch
Permalink /patch/5196/
State Other maintainer / subsystem
Headers show

Comments

Gabor Juhos - April 19, 2013, 7:39 a.m.
The 'pci_load_of_ranges' function has been converted to use
the common 'of_pci_range_parser' helper by the following commit:
"of/pci: mips: convert to common of_pci_range_parser".

That change causes build error because the type of the 'range'
variable is defined as 'struct pci_of_range_range' instead of
the corect 'struct pci_of_range':

  arch/mips/pci/pci.c: In function 'pci_load_of_ranges':
  arch/mips/pci/pci.c:124:28: error: storage size of 'range' isn't known

Furthermore, the code uses non-existent fields:

  arch/mips/pci/pci.c: In function 'pci_load_of_ranges':
  arch/mips/pci/pci.c:139:4: error: 'struct of_pci_range' has no member named 'addr'
  arch/mips/pci/pci.c:139:4: error: 'struct of_pci_range' has no member named 'addr'
  arch/mips/pci/pci.c:142:20: error: 'struct of_pci_range' has no member named 'addr'
  arch/mips/pci/pci.c:145:4: error: 'struct of_pci_range' has no member named 'addr'
  arch/mips/pci/pci.c:145:4: error: 'struct of_pci_range' has no member named 'addr'

Use the correct structure and field names to fix the errors.

Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: linux-mips@linux-mips.org
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
---
Note:

Although this is a MIPS specific patch, it should be merged via
the arm-soc tree, because the offending commit exist only in that.

The patch is based on the next/drivers branch of the arm-soc tree.
---
 arch/mips/pci/pci.c |   11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

Patch

diff --git a/arch/mips/pci/pci.c b/arch/mips/pci/pci.c
index bee49a4..9c15061 100644
--- a/arch/mips/pci/pci.c
+++ b/arch/mips/pci/pci.c
@@ -122,7 +122,7 @@  static void pcibios_scanbus(struct pci_controller *hose)
 #ifdef CONFIG_OF
 void pci_load_of_ranges(struct pci_controller *hose, struct device_node *node)
 {
-	struct of_pci_range_range range;
+	struct of_pci_range range;
 	struct of_pci_range_parser parser;
 	u32 res_type;
 
@@ -138,13 +138,16 @@  void pci_load_of_ranges(struct pci_controller *hose, struct device_node *node)
 		res_type = range.flags & IORESOURCE_TYPE_BITS;
 		if (res_type == IORESOURCE_IO) {
 			pr_info("  IO 0x%016llx..0x%016llx\n",
-				range.addr, range.addr + range.size - 1);
+				range.cpu_addr,
+				range.cpu_addr + range.size - 1);
 			hose->io_map_base =
-				(unsigned long)ioremap(range.addr, range.size);
+				(unsigned long)ioremap(range.cpu_addr,
+						       range.size);
 			res = hose->io_resource;
 		} else if (res_type == IORESOURCE_MEM) {
 			pr_info(" MEM 0x%016llx..0x%016llx\n",
-				range.addr, range.addr + range.size - 1);
+				range.cpu_addr,
+				range.cpu_addr + range.size - 1);
 			res = hose->mem_resource;
 		}
 		if (res != NULL)