mtd: replace the hardcode with the onfi_feature()

Linux-MTD Mailing List linux-mtd at lists.infradead.org
Fri Aug 30 16:59:02 EDT 2013


Gitweb:     http://git.infradead.org/?p=mtd-2.6.git;a=commit;h=e2985fc1d684927ce1dd5e5e6d35db8b52302685
Commit:     e2985fc1d684927ce1dd5e5e6d35db8b52302685
Parent:     6dcbe0cdd83fb5f77be4f44c9e06c535281c375a
Author:     Huang Shijie <b32955 at freescale.com>
AuthorDate: Fri May 17 11:17:30 2013 +0800
Committer:  David Woodhouse <David.Woodhouse at intel.com>
CommitDate: Fri Aug 30 21:34:44 2013 +0100

    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 at freescale.com>
    [Brian: small fixup]
    Signed-off-by: Brian Norris <computersforpeace at gmail.com>
    
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>
---
 drivers/mtd/nand/nand_base.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
index d8c723c..51d5b81 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;



More information about the linux-mtd-cvs mailing list