summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBecky Bruce <bgill@freescale.com>2008-05-07 13:24:57 -0500
committerWolfgang Denk <wd@denx.de>2008-05-10 00:59:57 +0200
commit36f32675f40292002ee1fed252c180a43022d2d4 (patch)
tree96199a6636af49402ba7ea98dc29a13c0ed9a627
parent91a616741fc128cdb88f39bddcd4d72fe17466d0 (diff)
downloadu-boot-imx-36f32675f40292002ee1fed252c180a43022d2d4.zip
u-boot-imx-36f32675f40292002ee1fed252c180a43022d2d4.tar.gz
u-boot-imx-36f32675f40292002ee1fed252c180a43022d2d4.tar.bz2
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>
-rw-r--r--drivers/pci/pci.c8
-rw-r--r--include/pci.h10
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))