[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