[PATCH v4 14/15] mtd: nand: hynix: rework NAND ID decoding to extract more information

Boris Brezillon boris.brezillon at free-electrons.com
Tue Jan 3 05:32:01 PST 2017


On Tue, 03 Jan 2017 21:17:13 +0800
Icenowy Zheng <icenowy at aosc.xyz> wrote:

> 03.01.2017, 21:01, "Boris Brezillon" <boris.brezillon at free-electrons.com>:
> > The current NAND ID detection in nand_hynix.c is not handling the
> > different scheme used by Hynix, thus forcing developers to add new
> > entries in the nand_ids table each time they want to support a new MLC
> > NAND.
> >
> > Enhance the detection logic to handle all known formats. This does not
> > necessarily mean we are handling all the cases, but if new formats are
> > discovered, the code should evolve to take them into account instead of
> > adding more full-id entries in the nand_ids table.
> >
> > Signed-off-by: Boris Brezillon <boris.brezillon at free-electrons.com>
> > ---
> >  drivers/mtd/nand/nand_hynix.c | 228 ++++++++++++++++++++++++++++++++++++++----
> >  1 file changed, 209 insertions(+), 19 deletions(-)
> >
> > diff --git a/drivers/mtd/nand/nand_hynix.c b/drivers/mtd/nand/nand_hynix.c
> > index 06c8e8b0ec68..a35ca3a593f5 100644
> > --- a/drivers/mtd/nand/nand_hynix.c
> > +++ b/drivers/mtd/nand/nand_hynix.c
> > @@ -13,21 +13,56 @@
> >   */
> >

[...]

> > + switch (oobsize) {
> >                  case 0:
> >                          mtd->oobsize = 128;
> >                          break;
> > @@ -46,23 +81,178 @@ static void hynix_nand_decode_id(struct nand_chip *chip)
> >                  case 5:
> >                          mtd->oobsize = 16;
> >                          break;
> > - default:
> > + case 6:
> >                          mtd->oobsize = 640;
> >                          break;
> > + default:
> > + /*
> > + * We should never reach this case, but if that
> > + * happens, this probably means Samsung decided to use  
> 
> Is this "Samsung" a copy-n-paste error? ;-)

Indeed, and this is not the only place where I'm wrongly mentioning
Samsung. I'll fix that.

Thanks,

Boris



More information about the linux-mtd mailing list