[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