diff options
| -rw-r--r-- | arch/ppc/platforms/pmac_pci.c | 6 | ||||
| -rw-r--r-- | arch/ppc/syslib/indirect_pci.c | 16 | ||||
| -rw-r--r-- | include/asm-ppc/pci-bridge.h | 4 |
3 files changed, 12 insertions, 14 deletions
diff --git a/arch/ppc/platforms/pmac_pci.c b/arch/ppc/platforms/pmac_pci.c index 555c06188fd4..1828209c0fa3 100644 --- a/arch/ppc/platforms/pmac_pci.c +++ b/arch/ppc/platforms/pmac_pci.c @@ -659,8 +659,7 @@ static void __init setup_bandit(struct pci_controller* hose, struct reg_property* addr) { hose->ops = ¯isc_pci_ops; - hose->cfg_addr = (volatile unsigned int *) - ioremap(addr->address + 0x800000, 0x1000); + hose->cfg_addr = ioremap(addr->address + 0x800000, 0x1000); hose->cfg_data = ioremap(addr->address + 0xc00000, 0x1000); init_bandit(hose); } @@ -670,8 +669,7 @@ setup_chaos(struct pci_controller* hose, struct reg_property* addr) { /* assume a `chaos' bridge */ hose->ops = &chaos_pci_ops; - hose->cfg_addr = (volatile unsigned int *) - ioremap(addr->address + 0x800000, 0x1000); + hose->cfg_addr = ioremap(addr->address + 0x800000, 0x1000); hose->cfg_data = ioremap(addr->address + 0xc00000, 0x1000); } diff --git a/arch/ppc/syslib/indirect_pci.c b/arch/ppc/syslib/indirect_pci.c index 1e19d4f4aed5..a5a752609e2c 100644 --- a/arch/ppc/syslib/indirect_pci.c +++ b/arch/ppc/syslib/indirect_pci.c @@ -112,11 +112,11 @@ static struct pci_ops indirect_pci_ops = }; void __init -setup_indirect_pci_nomap(struct pci_controller* hose, u32 cfg_addr, - u32 cfg_data) +setup_indirect_pci_nomap(struct pci_controller* hose, void __iomem * cfg_addr, + void __iomem * cfg_data) { - hose->cfg_addr = (unsigned int *)cfg_addr; - hose->cfg_data = (void __iomem *)cfg_data; + hose->cfg_addr = cfg_addr; + hose->cfg_data = cfg_data; hose->ops = &indirect_pci_ops; } @@ -124,12 +124,12 @@ void __init setup_indirect_pci(struct pci_controller* hose, u32 cfg_addr, u32 cfg_data) { unsigned long base = cfg_addr & PAGE_MASK; - char *mbase; + void __iomem *mbase, *addr, *data; mbase = ioremap(base, PAGE_SIZE); - cfg_addr = (u32)(mbase + (cfg_addr & ~PAGE_MASK)); + addr = mbase + (cfg_addr & ~PAGE_MASK); if ((cfg_data & PAGE_MASK) != base) mbase = ioremap(cfg_data & PAGE_MASK, PAGE_SIZE); - cfg_data = (u32)(mbase + (cfg_data & ~PAGE_MASK)); - setup_indirect_pci_nomap(hose, cfg_addr, cfg_data); + data = mbase + (cfg_data & ~PAGE_MASK); + setup_indirect_pci_nomap(hose, addr, data); } diff --git a/include/asm-ppc/pci-bridge.h b/include/asm-ppc/pci-bridge.h index 727421e8b17b..78e9be619f14 100644 --- a/include/asm-ppc/pci-bridge.h +++ b/include/asm-ppc/pci-bridge.h @@ -57,7 +57,7 @@ struct pci_controller { unsigned long pci_mem_offset; struct pci_ops *ops; - volatile unsigned int *cfg_addr; + volatile unsigned int __iomem *cfg_addr; volatile void __iomem *cfg_data; /* * If set, indirect method will set the cfg_type bit as @@ -95,7 +95,7 @@ int early_write_config_dword(struct pci_controller *hose, int bus, int dev_fn, int where, u32 val); extern void setup_indirect_pci_nomap(struct pci_controller* hose, - u32 cfg_addr, u32 cfg_data); + void __iomem *cfg_addr, void __iomem *cfg_data); extern void setup_indirect_pci(struct pci_controller* hose, u32 cfg_addr, u32 cfg_data); extern void setup_grackle(struct pci_controller *hose); |
