*/
 
 static void inline
-tioce_mmr_war_pre(struct tioce_kernel *kern, void *mmr_addr)
+tioce_mmr_war_pre(struct tioce_kernel *kern, void __iomem *mmr_addr)
 {
        u64 mmr_base;
        u64 mmr_offset;
                return;
 
        mmr_base = kern->ce_common->ce_pcibus.bs_base;
-       mmr_offset = (u64)mmr_addr - mmr_base;
+       mmr_offset = (unsigned long)mmr_addr - mmr_base;
 
        if (mmr_offset < 0x45000) {
                u64 mmr_war_offset;
 }
 
 static void inline
-tioce_mmr_war_post(struct tioce_kernel *kern, void *mmr_addr)
+tioce_mmr_war_post(struct tioce_kernel *kern, void __iomem *mmr_addr)
 {
        u64 mmr_base;
        u64 mmr_offset;
                return;
 
        mmr_base = kern->ce_common->ce_pcibus.bs_base;
-       mmr_offset = (u64)mmr_addr - mmr_base;
+       mmr_offset = (unsigned long)mmr_addr - mmr_base;
 
        if (mmr_offset < 0x45000) {
                if (mmr_offset == 0x100)
  * @pci_dev.
  */
 static inline void
-pcidev_to_tioce(struct pci_dev *pdev, struct tioce **base,
+pcidev_to_tioce(struct pci_dev *pdev, struct tioce __iomem **base,
                struct tioce_kernel **kernel, int *port)
 {
        struct pcidev_info *pcidev_info;
        ce_kernel = (struct tioce_kernel *)ce_common->ce_kernel_private;
 
        if (base)
-               *base = (struct tioce *)ce_common->ce_pcibus.bs_base;
+               *base = (struct tioce __iomem *)ce_common->ce_pcibus.bs_base;
        if (kernel)
                *kernel = ce_kernel;
 
        u64 pagesize;
        int msi_capable, msi_wanted;
        u64 *ate_shadow;
-       u64 *ate_reg;
+       u64 __iomem *ate_reg;
        u64 addr;
-       struct tioce *ce_mmr;
+       struct tioce __iomem *ce_mmr;
        u64 bus_base;
        struct tioce_dmamap *map;
 
-       ce_mmr = (struct tioce *)ce_kern->ce_common->ce_pcibus.bs_base;
+       ce_mmr = (struct tioce __iomem *)ce_kern->ce_common->ce_pcibus.bs_base;
 
        switch (type) {
        case TIOCE_ATE_M32:
 {
        int dma_ok;
        int port;
-       struct tioce *ce_mmr;
+       struct tioce __iomem *ce_mmr;
        struct tioce_kernel *ce_kern;
        u64 ct_upper;
        u64 ct_lower;
        int i;
        int port;
        struct tioce_kernel *ce_kern;
-       struct tioce *ce_mmr;
+       struct tioce __iomem *ce_mmr;
        unsigned long flags;
 
        bus_addr = tioce_dma_barrier(bus_addr, 0);
 tioce_reserve_m32(struct tioce_kernel *ce_kern, u64 base, u64 limit)
 {
        int ate_index, last_ate, ps;
-       struct tioce *ce_mmr;
+       struct tioce __iomem *ce_mmr;
 
-       ce_mmr = (struct tioce *)ce_kern->ce_common->ce_pcibus.bs_base;
+       ce_mmr = (struct tioce __iomem *)ce_kern->ce_common->ce_pcibus.bs_base;
        ps = ce_kern->ce_ate3240_pagesize;
        ate_index = ATE_PAGE(base, ps);
        last_ate = ate_index + ATE_NPAGES(base, limit-base+1, ps) - 1;
        int dev;
        u32 tmp;
        unsigned int seg, bus;
-       struct tioce *tioce_mmr;
+       struct tioce __iomem *tioce_mmr;
        struct tioce_kernel *tioce_kern;
 
        tioce_kern = kzalloc(sizeof(struct tioce_kernel), GFP_KERNEL);
         * the ate's.
         */
 
-       tioce_mmr = (struct tioce *)tioce_common->ce_pcibus.bs_base;
+       tioce_mmr = (struct tioce __iomem *)tioce_common->ce_pcibus.bs_base;
        tioce_mmr_clri(tioce_kern, &tioce_mmr->ce_ure_page_map,
                       CE_URE_PAGESIZE_MASK);
        tioce_mmr_seti(tioce_kern, &tioce_mmr->ce_ure_page_map,
        struct pcidev_info *pcidev_info;
        struct tioce_common *ce_common;
        struct tioce_kernel *ce_kern;
-       struct tioce *ce_mmr;
+       struct tioce __iomem *ce_mmr;
        u64 force_int_val;
 
        if (!sn_irq_info->irq_bridge)
                return;
 
        ce_common = (struct tioce_common *)pcidev_info->pdi_pcibus_info;
-       ce_mmr = (struct tioce *)ce_common->ce_pcibus.bs_base;
+       ce_mmr = (struct tioce __iomem *)ce_common->ce_pcibus.bs_base;
        ce_kern = (struct tioce_kernel *)ce_common->ce_kernel_private;
 
        /*
        struct pcidev_info *pcidev_info;
        struct tioce_common *ce_common;
        struct tioce_kernel *ce_kern;
-       struct tioce *ce_mmr;
+       struct tioce __iomem *ce_mmr;
        int bit;
        u64 vector;
 
                return;
 
        ce_common = (struct tioce_common *)pcidev_info->pdi_pcibus_info;
-       ce_mmr = (struct tioce *)ce_common->ce_pcibus.bs_base;
+       ce_mmr = (struct tioce __iomem *)ce_common->ce_pcibus.bs_base;
        ce_kern = (struct tioce_kernel *)ce_common->ce_kernel_private;
 
        bit = sn_irq_info->irq_int_bit;
        cnodeid_t my_cnode, mem_cnode;
        struct tioce_common *tioce_common;
        struct tioce_kernel *tioce_kern;
-       struct tioce *tioce_mmr;
+       struct tioce __iomem *tioce_mmr;
 
        /*
         * Allocate kernel bus soft and copy from prom.
         * interrupt handler.
         */
 
-       tioce_mmr = (struct tioce *)tioce_common->ce_pcibus.bs_base;
+       tioce_mmr = (struct tioce __iomem *)tioce_common->ce_pcibus.bs_base;
        tioce_mmr_seti(tioce_kern, &tioce_mmr->ce_adm_int_status_alias, ~0ULL);
        tioce_mmr_seti(tioce_kern, &tioce_mmr->ce_adm_error_summary_alias,
                       ~0ULL);