diff for duplicates of <4E4B6F46.2050209@freescale.com> diff --git a/a/1.txt b/N1/1.txt index 037069e..bbb3c47 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,4 +1,5 @@ -于 2011年08月16日 23:06, Artem Bityutskiy 写道: +=E4=BA=8E 2011=E5=B9=B408=E6=9C=8816=E6=97=A5 23:06, Artem Bityutskiy =E5= +=86=99=E9=81=93: > On Wed, 2011-08-03 at 13:50 +0800, b35362@freescale.com wrote: >> From: Liu Shuo<b35362@freescale.com> >> @@ -13,24 +14,25 @@ >> /* >> * Process user arguments >> @@ -197,15 +198,40 @@ int main(int argc, char *argv[]) ->> if (ioctl(fd, MEMGETOOBSEL,&oobinfo) != 0) +>> if (ioctl(fd, MEMGETOOBSEL,&oobinfo) !=3D 0) >> return sys_errmsg("%s: unable to get NAND oobinfo", mtd_device); >> ->> + cleanmarker.totlen = cpu_to_je32(8); +>> + cleanmarker.totlen =3D cpu_to_je32(8); >> /* Check for autoplacement */ ->> if (oobinfo.useecc == MTD_NANDECC_AUTOPLACE) { +>> if (oobinfo.useecc =3D=3D MTD_NANDECC_AUTOPLACE) { >> + struct nand_ecclayout_user ecclayout; >> /* Get the position of the free bytes */ >> - if (!oobinfo.oobfree[0][1]) ->> + if (ioctl(fd, ECCGETLAYOUT,&ecclayout) != 0) ->> + return sys_errmsg("%s: unable to get NAND ecclayout", mtd_device); +>> + if (ioctl(fd, ECCGETLAYOUT,&ecclayout) !=3D 0) +>> + return sys_errmsg("%s: unable to get NAND ecclayout", mtd_device= +); >> + > Hmm, shouldn't we instead make MTD_OOB_AUTO be available for userspace > via an ioctl instead and make flash_eraseall use it instead? > -I think We can add a new ioctl MEMSETOOBMODE for selecting a mode to +I think We can add a new ioctl MEMSETOOBMODE for selecting a mode to=20 access the OOB area. Add new member into struct mtd_info: @@ -46,8 +48,8 @@ struct mtd_info { } In function mtd_do_writeoob() (in drivers/mtd/mtdchar.c) : - - ops.mode = MTD_OOB_PLACE; - + ops.mode = mtd->oob_mode; + - ops.mode =3D MTD_OOB_PLACE; + + ops.mode =3D mtd->oob_mode; diff --git a/a/content_digest b/N1/content_digest index 016d520..53f973b 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -5,13 +5,13 @@ "Date\0Wed, 17 Aug 2011 15:35:34 +0800\0" "To\0<dedekind1@gmail.com>\0" "Cc\0linuxppc-dev@linux.freescale.net" - Li Yang <leoli@freescale.com> dwmw2@infradead.org linux-mtd@lists.infradead.org " linuxppc-dev@ozlabs.org\0" "\00:1\0" "b\0" - "\344\272\216 2011\345\271\26408\346\234\21016\346\227\245 23:06, Artem Bityutskiy \345\206\231\351\201\223:\n" + "=E4=BA=8E 2011=E5=B9=B408=E6=9C=8816=E6=97=A5 23:06, Artem Bityutskiy =E5=\n" + "=86=99=E9=81=93:\n" "> On Wed, 2011-08-03 at 13:50 +0800, b35362@freescale.com wrote:\n" ">> From: Liu Shuo<b35362@freescale.com>\n" ">>\n" @@ -26,24 +26,25 @@ ">> \t/*\n" ">> \t * Process user arguments\n" ">> @@ -197,15 +198,40 @@ int main(int argc, char *argv[])\n" - ">> \t\t\tif (ioctl(fd, MEMGETOOBSEL,&oobinfo) != 0)\n" + ">> \t\t\tif (ioctl(fd, MEMGETOOBSEL,&oobinfo) !=3D 0)\n" ">> \t\t\t\treturn sys_errmsg(\"%s: unable to get NAND oobinfo\", mtd_device);\n" ">>\n" - ">> +\t\t\tcleanmarker.totlen = cpu_to_je32(8);\n" + ">> +\t\t\tcleanmarker.totlen =3D cpu_to_je32(8);\n" ">> \t\t\t/* Check for autoplacement */\n" - ">> \t\t\tif (oobinfo.useecc == MTD_NANDECC_AUTOPLACE) {\n" + ">> \t\t\tif (oobinfo.useecc =3D=3D MTD_NANDECC_AUTOPLACE) {\n" ">> +\t\t\t\tstruct nand_ecclayout_user ecclayout;\n" ">> \t\t\t\t/* Get the position of the free bytes */\n" ">> -\t\t\t\tif (!oobinfo.oobfree[0][1])\n" - ">> +\t\t\t\tif (ioctl(fd, ECCGETLAYOUT,&ecclayout) != 0)\n" - ">> +\t\t\t\t\treturn sys_errmsg(\"%s: unable to get NAND ecclayout\", mtd_device);\n" + ">> +\t\t\t\tif (ioctl(fd, ECCGETLAYOUT,&ecclayout) !=3D 0)\n" + ">> +\t\t\t\t\treturn sys_errmsg(\"%s: unable to get NAND ecclayout\", mtd_device=\n" + ");\n" ">> +\n" "> Hmm, shouldn't we instead make MTD_OOB_AUTO be available for userspace\n" "> via an ioctl instead and make flash_eraseall use it instead?\n" ">\n" "\n" "\n" - "I think We can add a new ioctl MEMSETOOBMODE for selecting a mode to \n" + "I think We can add a new ioctl MEMSETOOBMODE for selecting a mode to=20\n" "access the OOB area.\n" "\n" "Add new member into struct mtd_info:\n" @@ -59,8 +60,8 @@ "}\n" "\n" "In function mtd_do_writeoob() (in drivers/mtd/mtdchar.c) :\n" - " - ops.mode = MTD_OOB_PLACE;\n" - " + ops.mode = mtd->oob_mode;\n" + " - ops.mode =3D MTD_OOB_PLACE;\n" + " + ops.mode =3D mtd->oob_mode;\n" "\n" "\n" "\n" @@ -69,4 +70,4 @@ "Thanks\n" -LiuShuo -77647ba580c5fe4dbc3a34b9f1566b4e4c13f4909b4db4724fb9080fa6e79bfe +2a6ee3b1850f3784a8566a747463911dffc209e38d1427dda2882ec873d6a06c
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.