mtd: nand: fix the wrong mtd->type for nand chip
authorHuang Shijie <b32955@freescale.com>
Wed, 25 Sep 2013 06:58:21 +0000 (14:58 +0800)
committerBrian Norris <computersforpeace@gmail.com>
Sun, 27 Oct 2013 23:27:07 +0000 (16:27 -0700)
commit963d1c285fdf3b9ce93b575b879c1cba4a23d958
tree14424b95921931ac72baed2e4f50121ff6ab8e09
parente104f1e9dab6726187810f5d9e06cadb946d4a61
mtd: nand: fix the wrong mtd->type for nand chip

Current code sets the mtd->type with MTD_NANDFLASH for both
SLC and MLC. So the jffs2 may supports the MLC nand, but in actually,
the jffs2 should not support the MLC.

This patch uses the nand_is_slc() to check the nand cell type,
and set the mtd->type with the right nand type.

After this patch, the jffs2 only supports the SLC nand.

The side-effect of this patch:
  Before this patch, the ioctl(MEMGETINFO) can only return with the
  MTD_NANDFLASH; but after this patch, the ioctl(MEMGETINFO) will
  return with the MTD_NANDFLASH for SLC, and MTD_MLCNANDFLASH for MLC.

  So the user applictions(such as mtd-utils) should also changes a little
  for this.

Signed-off-by: Huang Shijie <b32955@freescale.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
drivers/mtd/nand/nand_base.c