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>
This commit is contained in:
parent
bdf69c47ac
commit
4204cccde5
|
@ -2794,6 +2794,12 @@ static void nand_set_defaults(struct nand_chip *chip, int busw)
|
|||
if (!chip->select_chip)
|
||||
chip->select_chip = nand_select_chip;
|
||||
|
||||
/* set for ONFI nand */
|
||||
if (!chip->onfi_set_features)
|
||||
chip->onfi_set_features = nand_onfi_set_features;
|
||||
if (!chip->onfi_get_features)
|
||||
chip->onfi_get_features = nand_onfi_get_features;
|
||||
|
||||
/* If called twice, pointers that depend on busw may need to be reset */
|
||||
if (!chip->read_byte || chip->read_byte == nand_read_byte)
|
||||
chip->read_byte = busw ? nand_read_byte16 : nand_read_byte;
|
||||
|
@ -3560,12 +3566,6 @@ int nand_scan_tail(struct mtd_info *mtd)
|
|||
if (!chip->write_page)
|
||||
chip->write_page = nand_write_page;
|
||||
|
||||
/* set for ONFI nand */
|
||||
if (!chip->onfi_set_features)
|
||||
chip->onfi_set_features = nand_onfi_set_features;
|
||||
if (!chip->onfi_get_features)
|
||||
chip->onfi_get_features = nand_onfi_get_features;
|
||||
|
||||
/*
|
||||
* Check ECC mode, default to software if 3byte/512byte hardware ECC is
|
||||
* selected and we have 256 byte pagesize fallback to software ECC
|
||||
|
|
Loading…
Reference in New Issue