From 36f32675f40292002ee1fed252c180a43022d2d4 Mon Sep 17 00:00:00 2001
From: Becky Bruce <bgill@freescale.com>
Date: Wed, 7 May 2008 13:24:57 -0500
Subject: [PATCH] Update pci code to use phys_addr_t

Physical addrs need to be represented by phys_addr_t, not
unsigned long.  Otherwise, systems that use CONFIG_PHYS_64BIT
are going to fail mightily.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
---
 drivers/pci/pci.c |  8 ++++----
 include/pci.h     | 10 +++++-----
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 7944b6684a..f01a75e7f8 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -221,7 +221,7 @@ pci_dev_t pci_find_device(unsigned int vendor, unsigned int device, int index)
  */
 
 unsigned long pci_hose_phys_to_bus (struct pci_controller *hose,
-				    unsigned long phys_addr,
+				    phys_addr_t phys_addr,
 				    unsigned long flags)
 {
 	struct pci_region *res;
@@ -253,9 +253,9 @@ Done:
 	return 0;
 }
 
-unsigned long pci_hose_bus_to_phys(struct pci_controller* hose,
-				   unsigned long bus_addr,
-				   unsigned long flags)
+phys_addr_t pci_hose_bus_to_phys(struct pci_controller* hose,
+				 unsigned long bus_addr,
+				 unsigned long flags)
 {
 	struct pci_region *res;
 	int i;
diff --git a/include/pci.h b/include/pci.h
index 8e5dacc0df..1c8e21688f 100644
--- a/include/pci.h
+++ b/include/pci.h
@@ -314,7 +314,7 @@
 
 struct pci_region {
 	unsigned long bus_start;		/* Start on the bus */
-	unsigned long phys_start;		/* Start in physical address space */
+	phys_addr_t phys_start;			/* Start in physical address space */
 	unsigned long size;			/* Size */
 	unsigned long flags;			/* Resource flags */
 
@@ -331,7 +331,7 @@ struct pci_region {
 
 extern __inline__ void pci_set_region(struct pci_region *reg,
 				      unsigned long bus_start,
-				      unsigned long phys_start,
+				      phys_addr_t phys_start,
 				      unsigned long size,
 				      unsigned long flags) {
 	reg->bus_start	= bus_start;
@@ -432,10 +432,10 @@ extern __inline__ void pci_set_ops(struct pci_controller *hose,
 
 extern void pci_setup_indirect(struct pci_controller* hose, u32 cfg_addr, u32 cfg_data);
 
-extern unsigned long pci_hose_bus_to_phys(struct pci_controller* hose,
-					  unsigned long addr, unsigned long flags);
+extern phys_addr_t pci_hose_bus_to_phys(struct pci_controller* hose,
+					unsigned long addr, unsigned long flags);
 extern unsigned long pci_hose_phys_to_bus(struct pci_controller* hose,
-					  unsigned long addr, unsigned long flags);
+					  phys_addr_t addr, unsigned long flags);
 
 #define pci_phys_to_bus(dev, addr, flags) \
 	pci_hose_phys_to_bus(pci_bus_to_hose(PCI_BUS(dev)), (addr), (flags))
-- 
2.39.5