mtd: nand: lpc32xx_slc: don't call nand_default_bbt directly
authorBrian Norris <computersforpeace@gmail.com>
Sat, 10 Aug 2013 08:03:33 +0000 (01:03 -0700)
committerBrian Norris <computersforpeace@gmail.com>
Sun, 27 Oct 2013 23:26:59 +0000 (16:26 -0700)
This driver is doing some strange logic here. If it doesn't have
flash-based BBT enabled, it allows nand_scan_tail() to scan the BBT. But
if it is using flash-based BBT, it tells nand_scan_tail() to skip
scanning, then it immediately calls the default BBT scanning function
itself.

As I read it, this logic is equivalent to the default nand_scan_tail()
behavior without interfering with NAND_SKIP_BBTSCAN or calling
nand_default_bbt() directly at all.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
drivers/mtd/nand/lpc32xx_slc.c

index add7570..6d5f8c5 100644 (file)
@@ -893,7 +893,6 @@ static int lpc32xx_nand_probe(struct platform_device *pdev)
 
        /* Avoid extra scan if using BBT, setup BBT support */
        if (host->ncfg->use_bbt) {
-               chip->options |= NAND_SKIP_BBTSCAN;
                chip->bbt_options |= NAND_BBT_USE_FLASH;
 
                /*
@@ -915,13 +914,6 @@ static int lpc32xx_nand_probe(struct platform_device *pdev)
                goto err_exit3;
        }
 
-       /* Standard layout in FLASH for bad block tables */
-       if (host->ncfg->use_bbt) {
-               if (nand_default_bbt(mtd) < 0)
-                       dev_err(&pdev->dev,
-                              "Error initializing default bad block tables\n");
-       }
-
        mtd->name = "nxp_lpc3220_slc";
        ppdata.of_node = pdev->dev.of_node;
        res = mtd_device_parse_register(mtd, NULL, &ppdata, host->ncfg->parts,