Update pci code to use phys_addr_t
authorBecky Bruce <bgill@freescale.com>
Wed, 7 May 2008 18:24:57 +0000 (13:24 -0500)
committerWolfgang Denk <wd@denx.de>
Fri, 9 May 2008 22:59:57 +0000 (00:59 +0200)
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
include/pci.h

index 7944b6684aeee601b2ec7bd380728988ac469c9e..f01a75e7f8caa88f719d0ea4db57d7b2dc1f28d2 100644 (file)
@@ -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;
index 8e5dacc0df6cac054670e8b2238a485dbd02bd5f..1c8e21688f6303c699133adbede234a57391c136 100644 (file)
 
 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))