mtd: fsl_ifc_nand: Use void type for IFC buffer
authorAaron Sierra <asierra@xes-inc.com>
Mon, 7 Apr 2014 16:58:12 +0000 (11:58 -0500)
committerBrian Norris <computersforpeace@gmail.com>
Wed, 21 May 2014 00:36:25 +0000 (17:36 -0700)
The IFC buffer is accessed via 8-bit and 16-bit accessors. Changing
the 'addr' member of 'struct fsl_ifc_nand_ctrl' from 'u8 __iomem *' to
'void __iomem *' eliminates the need for explicit casts when the
16-bit accessors are used.

Signed-off-by: Aaron Sierra <asierra@xes-inc.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
drivers/mtd/nand/fsl_ifc_nand.c

index cb45d2f8e208425cdaa8866ebdb96753cb80f999..8ed0ee1cfee1ba28580f00ea5a4b6fe832f0aeab 100644 (file)
@@ -56,7 +56,7 @@ struct fsl_ifc_nand_ctrl {
        struct nand_hw_control controller;
        struct fsl_ifc_mtd *chips[FSL_IFC_BANK_COUNT];
 
-       u8 __iomem *addr;       /* Address of assigned IFC buffer       */
+       void __iomem *addr;     /* Address of assigned IFC buffer       */
        unsigned int page;      /* Last page written to / read from     */
        unsigned int read_bytes;/* Number of bytes read during command  */
        unsigned int column;    /* Saved column from SEQIN              */
@@ -636,7 +636,7 @@ static void fsl_ifc_write_buf(struct mtd_info *mtd, const u8 *buf, int len)
                len = bufsize - ifc_nand_ctrl->index;
        }
 
-       memcpy_toio(&ifc_nand_ctrl->addr[ifc_nand_ctrl->index], buf, len);
+       memcpy_toio(ifc_nand_ctrl->addr + ifc_nand_ctrl->index, buf, len);
        ifc_nand_ctrl->index += len;
 }
 
@@ -648,13 +648,16 @@ static uint8_t fsl_ifc_read_byte(struct mtd_info *mtd)
 {
        struct nand_chip *chip = mtd->priv;
        struct fsl_ifc_mtd *priv = chip->priv;
+       unsigned int offset;
 
        /*
         * If there are still bytes in the IFC buffer, then use the
         * next byte.
         */
-       if (ifc_nand_ctrl->index < ifc_nand_ctrl->read_bytes)
-               return in_8(&ifc_nand_ctrl->addr[ifc_nand_ctrl->index++]);
+       if (ifc_nand_ctrl->index < ifc_nand_ctrl->read_bytes) {
+               offset = ifc_nand_ctrl->index++;
+               return in_8(ifc_nand_ctrl->addr + offset);
+       }
 
        dev_err(priv->dev, "%s: beyond end of buffer\n", __func__);
        return ERR_BYTE;
@@ -675,8 +678,7 @@ static uint8_t fsl_ifc_read_byte16(struct mtd_info *mtd)
         * next byte.
         */
        if (ifc_nand_ctrl->index < ifc_nand_ctrl->read_bytes) {
-               data = in_be16((uint16_t __iomem *)&ifc_nand_ctrl->
-                              addr[ifc_nand_ctrl->index]);
+               data = in_be16(ifc_nand_ctrl->addr + ifc_nand_ctrl->index);
                ifc_nand_ctrl->index += 2;
                return (uint8_t) data;
        }
@@ -701,7 +703,7 @@ static void fsl_ifc_read_buf(struct mtd_info *mtd, u8 *buf, int len)
 
        avail = min((unsigned int)len,
                        ifc_nand_ctrl->read_bytes - ifc_nand_ctrl->index);
-       memcpy_fromio(buf, &ifc_nand_ctrl->addr[ifc_nand_ctrl->index], avail);
+       memcpy_fromio(buf, ifc_nand_ctrl->addr + ifc_nand_ctrl->index, avail);
        ifc_nand_ctrl->index += avail;
 
        if (len > avail)