aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHuang Shijie <b32955@freescale.com>2013-08-15 22:10:07 -0400
committerDavid Woodhouse <David.Woodhouse@intel.com>2013-08-30 16:38:12 -0400
commit4204cccde5e754745bbf30b077060c2033d29efa (patch)
tree354aacfbac5316611c5b6637d91f41f266aa280e
parentbdf69c47ac67480122b8842acf0ea75c0d18a5e9 (diff)
mtd: set ONFI nand's default hooks in nand_set_defaults()
We may do some ONFI get/set features operations before we call the nand_scan_tail(). So move the default ONFI nand hooks into nand_set_defaults(). Signed-off-by: Huang Shijie <b32955@freescale.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> 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.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
index 49a9780a0055..80394ccc2232 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
@@ -2794,6 +2794,12 @@ static void nand_set_defaults(struct nand_chip *chip, int busw)
2794 if (!chip->select_chip) 2794 if (!chip->select_chip)
2795 chip->select_chip = nand_select_chip; 2795 chip->select_chip = nand_select_chip;
2796 2796
2797 /* set for ONFI nand */
2798 if (!chip->onfi_set_features)
2799 chip->onfi_set_features = nand_onfi_set_features;
2800 if (!chip->onfi_get_features)
2801 chip->onfi_get_features = nand_onfi_get_features;
2802
2797 /* If called twice, pointers that depend on busw may need to be reset */ 2803 /* If called twice, pointers that depend on busw may need to be reset */
2798 if (!chip->read_byte || chip->read_byte == nand_read_byte) 2804 if (!chip->read_byte || chip->read_byte == nand_read_byte)
2799 chip->read_byte = busw ? nand_read_byte16 : nand_read_byte; 2805 chip->read_byte = busw ? nand_read_byte16 : nand_read_byte;
@@ -3560,12 +3566,6 @@ int nand_scan_tail(struct mtd_info *mtd)
3560 if (!chip->write_page) 3566 if (!chip->write_page)
3561 chip->write_page = nand_write_page; 3567 chip->write_page = nand_write_page;
3562 3568
3563 /* set for ONFI nand */
3564 if (!chip->onfi_set_features)
3565 chip->onfi_set_features = nand_onfi_set_features;
3566 if (!chip->onfi_get_features)
3567 chip->onfi_get_features = nand_onfi_get_features;
3568
3569 /* 3569 /*
3570 * Check ECC mode, default to software if 3byte/512byte hardware ECC is 3570 * Check ECC mode, default to software if 3byte/512byte hardware ECC is
3571 * selected and we have 256 byte pagesize fallback to software ECC 3571 * selected and we have 256 byte pagesize fallback to software ECC