mtd: nand_bbt: kill NAND_BBT_SCANALLPAGES
authorBrian Norris <computersforpeace@gmail.com>
Wed, 30 Oct 2013 04:41:30 +0000 (00:41 -0400)
committerBrian Norris <computersforpeace@gmail.com>
Thu, 7 Nov 2013 07:33:14 +0000 (23:33 -0800)
Now that the last user of NAND_BBT_SCANALLPAGES has been removed, let's
kill this peculiar BBT feature flag.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Reviewed-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Documentation/DocBook/mtdnand.tmpl
drivers/mtd/nand/nand_bbt.c
include/linux/mtd/bbm.h

index a248f42..cd11926 100644 (file)
@@ -1222,8 +1222,6 @@ in this page</entry>
 #define NAND_BBT_VERSION       0x00000100
 /* Create a bbt if none axists */
 #define NAND_BBT_CREATE                0x00000200
-/* Search good / bad pattern through all pages of a block */
-#define NAND_BBT_SCANALLPAGES  0x00000400
 /* Write bbt if neccecary */
 #define NAND_BBT_WRITE         0x00001000
 /* Read and write back block contents when writing bbt */
index c75b6a7..c0615d1 100644 (file)
@@ -412,25 +412,6 @@ static void read_abs_bbts(struct mtd_info *mtd, uint8_t *buf,
        }
 }
 
-/* Scan a given block full */
-static int scan_block_full(struct mtd_info *mtd, struct nand_bbt_descr *bd,
-                          loff_t offs, uint8_t *buf, size_t readlen,
-                          int scanlen, int numpages)
-{
-       int ret, j;
-
-       ret = scan_read_oob(mtd, buf, offs, readlen);
-       /* Ignore ECC errors when checking for BBM */
-       if (ret && !mtd_is_bitflip_or_eccerr(ret))
-               return ret;
-
-       for (j = 0; j < numpages; j++, buf += scanlen) {
-               if (check_pattern(buf, scanlen, mtd->writesize, bd))
-                       return 1;
-       }
-       return 0;
-}
-
 /* Scan a given block partially */
 static int scan_block_fast(struct mtd_info *mtd, struct nand_bbt_descr *bd,
                           loff_t offs, uint8_t *buf, int numpages)
@@ -477,24 +458,17 @@ static int create_bbt(struct mtd_info *mtd, uint8_t *buf,
        struct nand_bbt_descr *bd, int chip)
 {
        struct nand_chip *this = mtd->priv;
-       int i, numblocks, numpages, scanlen;
+       int i, numblocks, numpages;
        int startblock;
        loff_t from;
-       size_t readlen;
 
        pr_info("Scanning device for bad blocks\n");
 
-       if (bd->options & NAND_BBT_SCANALLPAGES)
-               numpages = 1 << (this->bbt_erase_shift - this->page_shift);
-       else if (bd->options & NAND_BBT_SCAN2NDPAGE)
+       if (bd->options & NAND_BBT_SCAN2NDPAGE)
                numpages = 2;
        else
                numpages = 1;
 
-       /* We need only read few bytes from the OOB area */
-       scanlen = 0;
-       readlen = bd->len;
-
        if (chip == -1) {
                numblocks = mtd->size >> this->bbt_erase_shift;
                startblock = 0;
@@ -519,12 +493,7 @@ static int create_bbt(struct mtd_info *mtd, uint8_t *buf,
 
                BUG_ON(bd->options & NAND_BBT_NO_OOB);
 
-               if (bd->options & NAND_BBT_SCANALLPAGES)
-                       ret = scan_block_full(mtd, bd, from, buf, readlen,
-                                             scanlen, numpages);
-               else
-                       ret = scan_block_fast(mtd, bd, from, buf, numpages);
-
+               ret = scan_block_fast(mtd, bd, from, buf, numpages);
                if (ret < 0)
                        return ret;
 
index 95fc482..36bb6a5 100644 (file)
@@ -91,8 +91,6 @@ struct nand_bbt_descr {
  * with NAND_BBT_CREATE.
  */
 #define NAND_BBT_CREATE_EMPTY  0x00000400
-/* Search good / bad pattern through all pages of a block */
-#define NAND_BBT_SCANALLPAGES  0x00000800
 /* Write bbt if neccecary */
 #define NAND_BBT_WRITE         0x00002000
 /* Read and write back block contents when writing bbt */