[PATCH] mtd: denali: detect the number of banks before resetting NAND

Jamie Iles jamie at jamieiles.com
Mon Jun 6 12:11:34 EDT 2011


Commit c89eeda810f0ec4f0eee0206ebb79e476df9f83e (mtd: denali: detect the
number of banks) introduced runtime detection of the number of banks.

However, denali_nand_reset() uses uses denanli_nand_info::max_banks so
we need to detect the maximum number of banks before doing the reset.

Cc: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>
Cc: David Woodhouse <David.Woodhouse at intel.com>
Signed-off-by: Jamie Iles <jamie at jamieiles.com>
---

Artem, I believe that this one will be needed for 3.0 to avoid breakage
on Moorestown.

 drivers/mtd/nand/denali.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/mtd/nand/denali.c b/drivers/mtd/nand/denali.c
index eebdfb5..3984d48 100644
--- a/drivers/mtd/nand/denali.c
+++ b/drivers/mtd/nand/denali.c
@@ -1346,6 +1346,7 @@ static void denali_hw_init(struct denali_nand_info *denali)
 	 * */
 	denali->bbtskipbytes = ioread32(denali->flash_reg +
 						SPARE_AREA_SKIP_BYTES);
+	detect_max_banks(denali);
 	denali_nand_reset(denali);
 	iowrite32(0x0F, denali->flash_reg + RB_PIN_ENABLED);
 	iowrite32(CHIP_EN_DONT_CARE__FLAG,
@@ -1356,7 +1357,6 @@ static void denali_hw_init(struct denali_nand_info *denali)
 	/* Should set value for these registers when init */
 	iowrite32(0, denali->flash_reg + TWO_ROW_ADDR_CYCLES);
 	iowrite32(1, denali->flash_reg + ECC_ENABLE);
-	detect_max_banks(denali);
 	denali_nand_timing_set(denali);
 	denali_irq_init(denali);
 }
-- 
1.7.4.1




More information about the linux-mtd mailing list