[MTD] NAND: nandsim: support subpage write
authorArtem Bityutskiy <dedekind@infradead.org>
Fri, 20 Oct 2006 08:23:56 +0000 (11:23 +0300)
committerDavid Woodhouse <dwmw2@infradead.org>
Sat, 21 Oct 2006 15:44:23 +0000 (16:44 +0100)
As flash cannot do 0->1 bit transitions when programming, do not do this in
the simulator too. This makes nandsim able to accept subpage writes.

Signed-off-by: Artem Bityutskiy <dedekind@infradead.org>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
drivers/mtd/nand/nandsim.c

index 28ee78544ff2f01387ea8c3adabc2786506dc6c9..abebcab47631d456341ff3594d26e330b90ac04e 100644 (file)
@@ -852,6 +852,7 @@ static void erase_sector(struct nandsim *ns)
  */
 static int prog_page(struct nandsim *ns, int num)
 {
+       int i;
        union ns_mem *mypage;
        u_char *pg_off;
 
@@ -867,7 +868,8 @@ static int prog_page(struct nandsim *ns, int num)
        }
 
        pg_off = NS_PAGE_BYTE_OFF(ns);
-       memcpy(pg_off, ns->buf.byte, num);
+       for (i = 0; i < num; i++)
+               pg_off[i] &= ns->buf.byte[i];
 
        return 0;
 }