ch = brd->channels[0];
        vaddr = brd->re_map_membase;
 
-       bs = (struct bs_t *) ((ulong) vaddr + CHANBUF);
-       cm = (struct cm_t *) ((ulong) vaddr + CMDBUF);
+       bs = (struct bs_t __iomem *) ((ulong) vaddr + CHANBUF);
+       cm = (struct cm_t __iomem *) ((ulong) vaddr + CMDBUF);
 
        brd->bd_bs = bs;
 
                if (s <= 0)
                        break;
 
-               memcpy_fromio(buf, (char *) ch->ch_raddr + tail, s);
+               memcpy_fromio(buf, ch->ch_raddr + tail, s);
                dgap_sniff_nowait_nolock(ch, "USER READ", buf, s);
 
                tail += s;
        struct channel_t *ch = NULL;
        struct un_t *un = NULL;
        struct bs_t __iomem *bs;
-       char *vaddr = NULL;
+       char __iomem *vaddr;
        u16 head, tail, tmask, remain;
        int bufcount = 0, n = 0;
        int orig_count = 0;
        if (!vaddr)
                return;
 
-       cm_addr = (struct cm_t *) (vaddr + CMDBUF);
+       cm_addr = (struct cm_t __iomem *) (vaddr + CMDBUF);
        head = readw(&(cm_addr->cm_head));
 
        /*
         */
 
        /* Write an FF to tell the FEP that we want an extended command */
-       writeb((u8) 0xff, (char *) (vaddr + head + CMDSTART + 0));
+       writeb((u8) 0xff, (vaddr + head + CMDSTART + 0));
 
-       writeb((u8) ch->ch_portnum, (u8 *) (vaddr + head + CMDSTART + 1));
-       writew((u16) cmd, (char *) (vaddr + head + CMDSTART + 2));
+       writeb((u8) ch->ch_portnum, (vaddr + head + CMDSTART + 1));
+       writew((u16) cmd, (vaddr + head + CMDSTART + 2));
 
        /*
         * If the second part of the command won't fit,
         * put it at the beginning of the circular buffer.
         */
        if (((head + 4) >= ((CMDMAX - CMDSTART)) || (head & 03)))
-               writew((u16) word, (char *) (vaddr + CMDSTART));
+               writew((u16) word, (vaddr + CMDSTART));
        else
-               writew((u16) word, (char *) (vaddr + head + CMDSTART + 4));
+               writew((u16) word, (vaddr + head + CMDSTART + 4));
 
        head = (head + 8) & (CMDMAX - CMDSTART - 4);
 
 
        struct bs_t __iomem *ch_bs;     /* Base structure pointer       */
        struct cm_t __iomem *ch_cm;     /* Command queue pointer        */
        struct board_t *ch_bd;          /* Board structure pointer      */
-       unsigned char *ch_vaddr;        /* FEP memory origin            */
-       unsigned char *ch_taddr;        /* Write buffer origin          */
-       unsigned char *ch_raddr;        /* Read buffer origin           */
+       u8 __iomem *ch_vaddr;           /* FEP memory origin            */
+       u8 __iomem *ch_taddr;           /* Write buffer origin          */
+       u8 __iomem *ch_raddr;           /* Read buffer origin           */
        struct digi_t  ch_digi;         /* Transparent Print structure  */
        struct un_t ch_tun;             /* Terminal unit info           */
        struct un_t ch_pun;             /* Printer unit info            */