addr = get_base_addr(0, 0, PCI_DEVFN(i, 0));
                if (addr != 0)
                        pci_exp_set_dev_base(addr, 0, PCI_DEVFN(i, 0));
-               if (addr == 0 || readl((u32 *)addr) != val1)
+               if (addr == 0 || readl((u32 __iomem *)addr) != val1)
                        set_bit(i, fallback_slots);
                spin_unlock_irqrestore(&pci_config_lock, flags);
        }
 
 /* Static virtual mapping of the MMCONFIG aperture */
 struct mmcfg_virt {
        struct acpi_table_mcfg_config *cfg;
-       char *virt;
+       char __iomem *virt;
 };
 static struct mmcfg_virt *pci_mmcfg_virt;
 
-static char *get_virt(unsigned int seg, unsigned bus)
+static char __iomem *get_virt(unsigned int seg, unsigned bus)
 {
        int cfg_num = -1;
        struct acpi_table_mcfg_config *cfg;
        }
 }
 
-static char *pci_dev_base(unsigned int seg, unsigned int bus, unsigned int devfn)
+static char __iomem *pci_dev_base(unsigned int seg, unsigned int bus, unsigned int devfn)
 {
-       char *addr;
+       char __iomem *addr;
        if (seg == 0 && bus == 0 && test_bit(PCI_SLOT(devfn), &fallback_slots))
                return NULL;
        addr = get_virt(seg, bus);
 static int pci_mmcfg_read(unsigned int seg, unsigned int bus,
                          unsigned int devfn, int reg, int len, u32 *value)
 {
-       char *addr;
+       char __iomem *addr;
 
        /* Why do we have this when nobody checks it. How about a BUG()!? -AK */
        if (unlikely(!value || (bus > 255) || (devfn > 255) || (reg > 4095)))
 static int pci_mmcfg_write(unsigned int seg, unsigned int bus,
                           unsigned int devfn, int reg, int len, u32 value)
 {
-       char *addr;
+       char __iomem *addr;
 
        /* Why do we have this when nobody checks it. How about a BUG()!? -AK */
        if (unlikely((bus > 255) || (devfn > 255) || (reg > 4095)))
        int i;
        for (i = 0; i < 32; i++) {
                u32 val1;
-               char *addr;
+               char __iomem *addr;
 
                pci_conf1_read(0, 0, PCI_DEVFN(i,0), 0, 4, &val1);
                if (val1 == 0xffffffff)