diff options
author | Huang Shijie <b32955@freescale.com> | 2013-05-17 05:17:30 +0200 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2013-08-30 22:34:44 +0200 |
commit | e2985fc1d684927ce1dd5e5e6d35db8b52302685 (patch) | |
tree | 2e65c912ebc68719e8bc77176435deb5e7cb2a7d | |
parent | mtd: get the ECC info from the Extended Parameter Page (diff) | |
download | linux-e2985fc1d684927ce1dd5e5e6d35db8b52302685.tar.xz linux-e2985fc1d684927ce1dd5e5e6d35db8b52302685.zip |
mtd: replace the hardcode with the onfi_feature()
The current code uses the hardcode to detect the 16-bit bus width.
Use the onfi_feature() to replace it.
Signed-off-by: Huang Shijie <b32955@freescale.com>
[Brian: small fixup]
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
-rw-r--r-- | drivers/mtd/nand/nand_base.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c index d8c723c185b2..51d5b81f316c 100644 --- a/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c @@ -2981,9 +2981,11 @@ static int nand_flash_detect_onfi(struct mtd_info *mtd, struct nand_chip *chip, mtd->oobsize = le16_to_cpu(p->spare_bytes_per_page); chip->chipsize = le32_to_cpu(p->blocks_per_lun); chip->chipsize *= (uint64_t)mtd->erasesize * p->lun_count; - *busw = 0; - if (le16_to_cpu(p->features) & 1) + + if (onfi_feature(chip) & ONFI_FEATURE_16_BIT_BUS) *busw = NAND_BUSWIDTH_16; + else + *busw = 0; if (p->ecc_bits != 0xff) { chip->ecc_strength_ds = p->ecc_bits; |