denali->host_write(denali, mode | 0x14000, 0x2400);
 }
 
-static int denali_pio_read(struct denali_nand_info *denali, void *buf,
+static int denali_pio_read(struct denali_nand_info *denali, u32 *buf,
                           size_t size, int page)
 {
        u32 addr = DENALI_MAP01 | DENALI_BANK(denali) | page;
-       uint32_t *buf32 = (uint32_t *)buf;
        uint32_t irq_status, ecc_err_mask;
        int i;
 
        denali_reset_irq(denali);
 
        for (i = 0; i < size / 4; i++)
-               *buf32++ = denali->host_read(denali, addr);
+               buf[i] = denali->host_read(denali, addr);
 
        irq_status = denali_wait_for_irq(denali, INTR__PAGE_XFER_INC);
        if (!(irq_status & INTR__PAGE_XFER_INC))
        return irq_status & ecc_err_mask ? -EBADMSG : 0;
 }
 
-static int denali_pio_write(struct denali_nand_info *denali,
-                           const void *buf, size_t size, int page)
+static int denali_pio_write(struct denali_nand_info *denali, const u32 *buf,
+                           size_t size, int page)
 {
        u32 addr = DENALI_MAP01 | DENALI_BANK(denali) | page;
-       const uint32_t *buf32 = (uint32_t *)buf;
        uint32_t irq_status;
        int i;
 
        denali_reset_irq(denali);
 
        for (i = 0; i < size / 4; i++)
-               denali->host_write(denali, addr, *buf32++);
+               denali->host_write(denali, addr, buf[i]);
 
        irq_status = denali_wait_for_irq(denali,
                                INTR__PROGRAM_COMP | INTR__PROGRAM_FAIL);