mtd: nandsim: remove autoincrement code
authorBrian Norris <computersforpeace@gmail.com>
Wed, 2 May 2012 00:12:53 +0000 (17:12 -0700)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Mon, 14 May 2012 04:15:10 +0000 (23:15 -0500)
The NAND layer always has NAND_NO_AUTOINCR set, so we will never utilize the
AUTOINCR code in nandsim. We will be removing the NAND_NO_AUTOINCR option soon,
and so kill this code as well.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/mtd/nand/nandsim.c

index 261f478f8cc37944e3365ce8b0219ec073bfcddc..6cc8fbfabb8e2b71d50db215222d380f9e0061a1 100644 (file)
@@ -268,7 +268,6 @@ MODULE_PARM_DESC(bch,                "Enable BCH ecc and set how many bits should "
 #define OPT_PAGE512      0x00000002 /* 512-byte  page chips */
 #define OPT_PAGE2048     0x00000008 /* 2048-byte page chips */
 #define OPT_SMARTMEDIA   0x00000010 /* SmartMedia technology chips */
-#define OPT_AUTOINCR     0x00000020 /* page number auto incrementation is possible */
 #define OPT_PAGE512_8BIT 0x00000040 /* 512-byte page chips with 8-bit bus width */
 #define OPT_PAGE4096     0x00000080 /* 4096-byte page chips */
 #define OPT_LARGEPAGE    (OPT_PAGE2048 | OPT_PAGE4096) /* 2048 & 4096-byte page chips */
@@ -594,7 +593,7 @@ static int init_nandsim(struct mtd_info *mtd)
                ns->options |= OPT_PAGE256;
        }
        else if (ns->geom.pgsz == 512) {
-               ns->options |= (OPT_PAGE512 | OPT_AUTOINCR);
+               ns->options |= OPT_PAGE512;
                if (ns->busw == 8)
                        ns->options |= OPT_PAGE512_8BIT;
        } else if (ns->geom.pgsz == 2048) {
@@ -663,8 +662,6 @@ static int init_nandsim(struct mtd_info *mtd)
         for (i = 0; nand_flash_ids[i].name != NULL; i++) {
                 if (second_id_byte != nand_flash_ids[i].id)
                         continue;
-               if (!(nand_flash_ids[i].options & NAND_NO_AUTOINCR))
-                       ns->options |= OPT_AUTOINCR;
        }
 
        if (ns->busw == 16)
@@ -1936,20 +1933,8 @@ static u_char ns_nand_read_byte(struct mtd_info *mtd)
        if (ns->regs.count == ns->regs.num) {
                NS_DBG("read_byte: all bytes were read\n");
 
-               /*
-                * The OPT_AUTOINCR allows to read next consecutive pages without
-                * new read operation cycle.
-                */
-               if ((ns->options & OPT_AUTOINCR) && NS_STATE(ns->state) == STATE_DATAOUT) {
-                       ns->regs.count = 0;
-                       if (ns->regs.row + 1 < ns->geom.pgnum)
-                               ns->regs.row += 1;
-                       NS_DBG("read_byte: switch to the next page (%#x)\n", ns->regs.row);
-                       do_state_action(ns, ACTION_CPY);
-               }
-               else if (NS_STATE(ns->nxstate) == STATE_READY)
+               if (NS_STATE(ns->nxstate) == STATE_READY)
                        switch_state(ns);
-
        }
 
        return outb;
@@ -2203,14 +2188,7 @@ static void ns_nand_read_buf(struct mtd_info *mtd, u_char *buf, int len)
        ns->regs.count += len;
 
        if (ns->regs.count == ns->regs.num) {
-               if ((ns->options & OPT_AUTOINCR) && NS_STATE(ns->state) == STATE_DATAOUT) {
-                       ns->regs.count = 0;
-                       if (ns->regs.row + 1 < ns->geom.pgnum)
-                               ns->regs.row += 1;
-                       NS_DBG("read_buf: switch to the next page (%#x)\n", ns->regs.row);
-                       do_state_action(ns, ACTION_CPY);
-               }
-               else if (NS_STATE(ns->nxstate) == STATE_READY)
+               if (NS_STATE(ns->nxstate) == STATE_READY)
                        switch_state(ns);
        }