On Tue, 03 Jan 2017 21:17:13 +0800
Icenowy Zheng <[email protected]> wrote:

> 03.01.2017, 21:01, "Boris Brezillon" <[email protected]>:
> > 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 <[email protected]>
> > ---
> >  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

Reply via email to