diff options
author | Huang Shijie <b32955@freescale.com> | 2013-08-15 22:10:07 -0400 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2013-08-30 16:38:12 -0400 |
commit | 4204cccde5e754745bbf30b077060c2033d29efa (patch) | |
tree | 354aacfbac5316611c5b6637d91f41f266aa280e | |
parent | bdf69c47ac67480122b8842acf0ea75c0d18a5e9 (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.c | 12 |
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 |