#include <linux/init.h>
 #include <linux/pci.h>
 #include <linux/console.h>
-#include <asm/io.h>
 
 #ifdef CONFIG_PMAC_BACKLIGHT
 #include <asm/backlight.h>
 #endif /* CONFIG_PMAC_BACKLIGHT */
 
 #ifdef CONFIG_PPC
-       p->screen_base = __ioremap(addr, 0x200000, _PAGE_NO_CACHE);
+       p->screen_base = ioremap_wc(addr, 0x200000);
 #else
        p->screen_base = ioremap(addr, 0x200000);
 #endif
 
 #include <linux/nvram.h>
 #include <linux/adb.h>
 #include <linux/cuda.h>
-#include <asm/io.h>
 #include <asm/prom.h>
-#include <asm/pgtable.h>
 #include <asm/btext.h>
 
 #include "macmodes.h"
                goto error_out;
        }
        /* map at most 8MB for the frame buffer */
-       p->frame_buffer = __ioremap(p->frame_buffer_phys, 0x800000,
-                                   _PAGE_WRITETHRU);
+       p->frame_buffer = ioremap_wt(p->frame_buffer_phys, 0x800000);
 
        if (!p->control_regs_phys ||
            !request_mem_region(p->control_regs_phys, p->control_regs_size,
 
 #include <linux/nvram.h>
 #include <linux/of_device.h>
 #include <linux/of_platform.h>
-#include <asm/io.h>
 #include <asm/prom.h>
-#include <asm/pgtable.h>
 
 #include "macmodes.h"
 #include "platinumfb.h"
 
        /* frame buffer - map only 4MB */
        pinfo->frame_buffer_phys = pinfo->rsrc_fb.start;
-       pinfo->frame_buffer = __ioremap(pinfo->rsrc_fb.start, 0x400000,
-                                       _PAGE_WRITETHRU);
+       pinfo->frame_buffer = ioremap_wt(pinfo->rsrc_fb.start, 0x400000);
        pinfo->base_frame_buffer = pinfo->frame_buffer;
 
        /* registers */
 
 #include <linux/nvram.h>
 #include <linux/adb.h>
 #include <linux/cuda.h>
-#include <asm/io.h>
 #ifdef CONFIG_MAC
 #include <asm/macintosh.h>
 #else
 #include <asm/prom.h>
 #endif
-#include <asm/pgtable.h>
 
 #include "macmodes.h"
 #include "valkyriefb.h"
 int __init valkyriefb_init(void)
 {
        struct fb_info_valkyrie *p;
-       unsigned long frame_buffer_phys, cmap_regs_phys, flags;
+       unsigned long frame_buffer_phys, cmap_regs_phys;
        int err;
        char *option = NULL;
 
        /* Hardcoded addresses... welcome to 68k Macintosh country :-) */
        frame_buffer_phys = 0xf9000000;
        cmap_regs_phys = 0x50f24000;
-       flags = IOMAP_NOCACHE_SER; /* IOMAP_WRITETHROUGH?? */
 #else /* ppc (!CONFIG_MAC) */
        {
                struct device_node *dp;
 
                frame_buffer_phys = r.start;
                cmap_regs_phys = r.start + 0x304000;
-               flags = _PAGE_WRITETHRU;
        }
 #endif /* ppc (!CONFIG_MAC) */
 
        }
        p->total_vram = 0x100000;
        p->frame_buffer_phys = frame_buffer_phys;
-       p->frame_buffer = __ioremap(frame_buffer_phys, p->total_vram, flags);
+#ifdef CONFIG_MAC
+       p->frame_buffer = ioremap_nocache(frame_buffer_phys, p->total_vram);
+#else
+       p->frame_buffer = ioremap_wt(frame_buffer_phys, p->total_vram);
+#endif
        p->cmap_regs_phys = cmap_regs_phys;
        p->cmap_regs = ioremap(p->cmap_regs_phys, 0x1000);
        p->valkyrie_regs_phys = cmap_regs_phys+0x6000;