"%s(): DMA%d enable %d\n", __func__, dma->num, enable);
        if (enable) {
                writel(BIT_DMA_RUN, &dma->regs->ctrlstat_set);
-               writew(irq_mask,
-                       (u16 *)(dma->ndev->bmmio0 + REG_IMASK_SET));
+               writew(irq_mask, dma->ndev->bmmio0 + REG_IMASK_SET);
        } else {
                writel(BIT_DMA_RUN, &dma->regs->ctrlstat_clear);
-               writew(irq_mask,
-                       (u16 *)(dma->ndev->bmmio0 + REG_IMASK_CLEAR));
+               writew(irq_mask, dma->ndev->bmmio0 + REG_IMASK_CLEAR);
        }
 }
 
                ring_bytes = dma->ring_buffer_size - dma->data_offset;
                copy_bytes = (ring_bytes > buff_bytes) ?
                        buff_bytes : ring_bytes;
-               memcpy_fromio(p, dma->addr_virt + dma->data_offset, copy_bytes);
+               memcpy_fromio(p, (u8 __iomem *)(dma->addr_virt + dma->data_offset), copy_bytes);
                p += copy_bytes;
                buf->size += copy_bytes;
                buff_bytes -= copy_bytes;
                ring_bytes = dma->data_size;
                copy_bytes = (ring_bytes > buff_bytes) ?
                                buff_bytes : ring_bytes;
-               memcpy_fromio(p, dma->addr_virt + dma->data_offset, copy_bytes);
+               memcpy_fromio(p, (u8 __iomem *)(dma->addr_virt + dma->data_offset), copy_bytes);
                buf->size += copy_bytes;
                dma->data_size -= copy_bytes;
                dma->data_offset += copy_bytes;
                __func__, num, dma->addr_virt,
                (unsigned long long)dma->addr_phys,
                dma->ring_buffer_size);
-       memset_io(dma->addr_virt, 0, dma->ring_buffer_size);
+       memset_io((u8 __iomem *)dma->addr_virt, 0, dma->ring_buffer_size);
        dma->addr_last = dma->addr_phys;
        dma->high_addr = (u32)(dma->addr_phys & 0xC0000000);
-       dma->regs = (struct netup_dma_regs *)(num == 0 ?
+       dma->regs = (struct netup_dma_regs __iomem *)(num == 0 ?
                ndev->bmmio0 + NETUP_DMA0_ADDR :
                ndev->bmmio0 + NETUP_DMA1_ADDR);
        writel((NETUP_DMA_BLOCKS_COUNT << 24) |
 
 struct netup_spi {
        struct device                   *dev;
        struct spi_master               *master;
-       struct netup_spi_regs           *regs;
+       struct netup_spi_regs __iomem   *regs;
        u8 __iomem                      *mmio;
        spinlock_t                      lock;
        wait_queue_head_t               waitq;
        spin_lock_init(&nspi->lock);
        init_waitqueue_head(&nspi->waitq);
        nspi->master = master;
-       nspi->regs = (struct netup_spi_regs *)(ndev->bmmio0 + 0x4000);
+       nspi->regs = (struct netup_spi_regs __iomem *)(ndev->bmmio0 + 0x4000);
        writew(2, &nspi->regs->clock_divider);
        writew(NETUP_UNIDVB_IRQ_SPI, ndev->bmmio0 + REG_IMASK_SET);
        ndev->spi = nspi;