[U-Boot-Users] [PATCH] Update pci code to use phys_addr_t

Becky Bruce bgill at freescale.com
Wed May 7 20:24:57 CEST 2008


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 at 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 7944b66..f01a75e 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 8e5dacc..1c8e216 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))
-- 
1.5.4.1





More information about the U-Boot mailing list