Message ID | 1333942897-7392-1-git-send-email-b32955@freescale.com |
---|---|
State | New, archived |
Headers | show |
Hi Huang, Le 04/09/12 05:41, Huang Shijie a écrit : > Some not-supported nand chips may pass the current parsing code, > and get the wrong page size and oob size. Sometimes, it's hard to notice > that you get the wrong values, because there is no warning or error. > > So it's useful to print out the page size and oob size in the end of > the parsing function. We can check these values with the datasheet of the nand > chip as soon as possible. Relying on the kernel to print something to assert the correctness of the NAND detection is really weak, you'd better query these properties in userland. Also, I am afraid everyone adds a new NAND property print-out. > > Signed-off-by: Huang Shijie<b32955@freescale.com> > --- > drivers/mtd/nand/nand_base.c | 7 ++++--- > 1 files changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c > index 47b19c0..6315b94 100644 > --- a/drivers/mtd/nand/nand_base.c > +++ b/drivers/mtd/nand/nand_base.c > @@ -3155,9 +3155,10 @@ ident_done: > chip->cmdfunc = nand_command_lp; > > pr_info("NAND device: Manufacturer ID:" > - " 0x%02x, Chip ID: 0x%02x (%s %s)\n", *maf_id, *dev_id, > - nand_manuf_ids[maf_idx].name, > - chip->onfi_version ? chip->onfi_params.model : type->name); > + " 0x%02x, Chip ID: 0x%02x (%s %s), pagesize: %d, oobsize: %d\n", > + *maf_id, *dev_id, nand_manuf_ids[maf_idx].name, > + chip->onfi_version ? chip->onfi_params.model : type->name, > + mtd->writesize, mtd->oobsize); > > return type; > }
Hi, > Relying on the kernel to print something to assert the correctness of > the NAND detection is really weak, you'd better query these properties > in userland. Also, I am afraid everyone adds a new NAND property > print-out. thanks. If no one like this patch, just ignore it. Huang Shijie
On Wed, 2012-04-11 at 10:01 +0800, Huang Shijie wrote: > Hi, > > Relying on the kernel to print something to assert the correctness of > > the NAND detection is really weak, you'd better query these properties > > in userland. Also, I am afraid everyone adds a new NAND property > > print-out. > thanks. > > If no one like this patch, just ignore it. Yeah, relying on printks is not reliable, but printing the basic geometry information very useful, I think.
On Mon, 2012-04-09 at 11:41 +0800, Huang Shijie wrote: > pr_info("NAND device: Manufacturer ID:" > - " 0x%02x, Chip ID: 0x%02x (%s %s)\n", *maf_id, *dev_id, > - nand_manuf_ids[maf_idx].name, > - chip->onfi_version ? chip->onfi_params.model : type->name); > + " 0x%02x, Chip ID: 0x%02x (%s %s), pagesize: %d, oobsize: %d\n", > + *maf_id, *dev_id, nand_manuf_ids[maf_idx].name, > + chip->onfi_version ? chip->onfi_params.model : type->name, > + mtd->writesize, mtd->oobsize); I've amended this to print "page size" and "OOB size" instead, because this is a bit more user-friendly, and pushed to l2-mtd.git, thanks.
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c index 47b19c0..6315b94 100644 --- a/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c @@ -3155,9 +3155,10 @@ ident_done: chip->cmdfunc = nand_command_lp; pr_info("NAND device: Manufacturer ID:" - " 0x%02x, Chip ID: 0x%02x (%s %s)\n", *maf_id, *dev_id, - nand_manuf_ids[maf_idx].name, - chip->onfi_version ? chip->onfi_params.model : type->name); + " 0x%02x, Chip ID: 0x%02x (%s %s), pagesize: %d, oobsize: %d\n", + *maf_id, *dev_id, nand_manuf_ids[maf_idx].name, + chip->onfi_version ? chip->onfi_params.model : type->name, + mtd->writesize, mtd->oobsize); return type; }
Some not-supported nand chips may pass the current parsing code, and get the wrong page size and oob size. Sometimes, it's hard to notice that you get the wrong values, because there is no warning or error. So it's useful to print out the page size and oob size in the end of the parsing function. We can check these values with the datasheet of the nand chip as soon as possible. Signed-off-by: Huang Shijie <b32955@freescale.com> --- drivers/mtd/nand/nand_base.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-)