void mips_display_message(const char *str)
 {
-       static volatile unsigned int *display = NULL;
+       static unsigned int __iomem *display = NULL;
        int i;
 
        if (unlikely(display == NULL))
-               display = (volatile unsigned int *)ioremap(ASCII_DISPLAY_POS_BASE, 16*sizeof(int));
+               display = ioremap(ASCII_DISPLAY_POS_BASE, 16*sizeof(int));
 
        for (i = 0; i <= 14; i=i+2) {
                 if (*str)
-                        display[i] = *str++;
+                        writel(*str++, display + i);
                 else
-                        display[i] = ' ';
+                        writel(' ', display + i);
        }
 }
 
 
 static void mips_machine_restart(char *command)
 {
-        volatile unsigned int *softres_reg = (unsigned int *)ioremap (SOFTRES_REG, sizeof(unsigned int));
+       unsigned int __iomem *softres_reg = ioremap(SOFTRES_REG, sizeof(unsigned int));
 
-       *softres_reg = GORESET;
+       writew(GORESET, softres_reg);
 }
 
 static void mips_machine_halt(void)
 {
-        volatile unsigned int *softres_reg = (unsigned int *)ioremap (SOFTRES_REG, sizeof(unsigned int));
+        unsigned int __iomem *softres_reg = ioremap(SOFTRES_REG, sizeof(unsigned int));
 
-       *softres_reg = GORESET;
+       writew(GORESET, softres_reg);
 }
 
 #if defined(CONFIG_MIPS_ATLAS)
 static void atlas_machine_power_off(void)
 {
-        volatile unsigned int *psustby_reg = (unsigned int *)ioremap(ATLAS_PSUSTBY_REG, sizeof(unsigned int));
+       unsigned int __iomem *psustby_reg = ioremap(ATLAS_PSUSTBY_REG, sizeof(unsigned int));
 
-       *psustby_reg = ATLAS_GOSTBY;
+       writew(ATLAS_GOSTBY, psustby_reg);
 }
 #endif
 
 
                dummy = BONITO_PCIMAP_CFG;
                iob();    /* sync */
 
-               irq = *(volatile u32 *)(_pcictrl_bonito_pcicfg);
+               irq = readl((u32 *)_pcictrl_bonito_pcicfg);
                iob();    /* sync */
                irq &= 0xff;
                BONITO_PCIMAP_CFG = 0;
 
 #ifdef CONFIG_BLK_DEV_IDE
        /* Check PCI clock */
        {
-               int jmpr = (*((volatile unsigned int *)ioremap(MALTA_JMPRS_REG, sizeof(unsigned int))) >> 2) & 0x07;
+               unsigned int __iomem *jmpr_p = (unsigned int *) ioremap(MALTA_JMPRS_REG, sizeof(unsigned int));
+               int jmpr = (readw(jmpr_p) >> 2) & 0x07;
                static const int pciclocks[] __initdata = {
                        33, 20, 25, 30, 12, 16, 37, 10
                };
        };
 #endif
 #endif
-
        mips_reboot_setup();
 
        board_time_init = mips_time_init;