mtd: denali: detect the number of banks before resetting NAND
authorJamie Iles <jamie@jamieiles.com>
Mon, 6 Jun 2011 16:11:34 +0000 (17:11 +0100)
committerArtem Bityutskiy <artem.bityutskiy@intel.com>
Sun, 11 Sep 2011 12:02:04 +0000 (15:02 +0300)
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.

Signed-off-by: Jamie Iles <jamie@jamieiles.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
drivers/mtd/nand/denali.c

index eebdfb5148e63287a0f16a4211ddd6badec382ba..3984d488f9abbf5a3d6ed77fd49e2c4b7dc79381 100644 (file)
@@ -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);
 }