From: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
To: Brian Norris <computersforpeace@gmail.com>
Cc: linux-mtd@lists.infradead.org, Pekon Gupta <pekon@ti.com>
Subject: Re: [PATCH] mtd: nand_bbt: kill NAND_BBT_SCANALLPAGES
Date: Thu, 31 Oct 2013 16:04:33 -0300 [thread overview]
Message-ID: <20131031190432.GB2498@localhost> (raw)
In-Reply-To: <1383186575-31328-1-git-send-email-computersforpeace@gmail.com>
On Wed, Oct 30, 2013 at 10:29:35PM -0400, Brian Norris wrote:
> 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>
> ---
> Documentation/DocBook/mtdnand.tmpl | 2 --
> drivers/mtd/nand/nand_bbt.c | 37 +++----------------------------------
> include/linux/mtd/bbm.h | 2 --
> 3 files changed, 3 insertions(+), 38 deletions(-)
>
> diff --git a/Documentation/DocBook/mtdnand.tmpl b/Documentation/DocBook/mtdnand.tmpl
> index a248f42a121e..cd11926e07c7 100644
> --- a/Documentation/DocBook/mtdnand.tmpl
> +++ b/Documentation/DocBook/mtdnand.tmpl
> @@ -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 */
> diff --git a/drivers/mtd/nand/nand_bbt.c b/drivers/mtd/nand/nand_bbt.c
> index c75b6a7c6ea4..c0615d1526f9 100644
> --- a/drivers/mtd/nand/nand_bbt.c
> +++ b/drivers/mtd/nand/nand_bbt.c
> @@ -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;
>
> diff --git a/include/linux/mtd/bbm.h b/include/linux/mtd/bbm.h
> index 95fc482cef36..36bb6a503f19 100644
> --- a/include/linux/mtd/bbm.h
> +++ b/include/linux/mtd/bbm.h
> @@ -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 */
> --
> 1.8.1.2
>
--
Ezequiel García, Free Electrons
Embedded Linux, Kernel and Android Engineering
http://free-electrons.com
next prev parent reply other threads:[~2013-10-31 19:05 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-31 2:29 [PATCH] mtd: nand_bbt: kill NAND_BBT_SCANALLPAGES Brian Norris
2013-10-31 10:20 ` Ezequiel Garcia
2013-10-31 15:22 ` Brian Norris
2013-10-31 15:32 ` Ezequiel Garcia
2013-10-31 17:52 ` Brian Norris
2013-10-31 19:04 ` Ezequiel Garcia [this message]
2013-11-01 9:01 ` Artem Bityutskiy
2013-11-01 18:33 ` Brian Norris
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20131031190432.GB2498@localhost \
--to=ezequiel.garcia@free-electrons.com \
--cc=computersforpeace@gmail.com \
--cc=linux-mtd@lists.infradead.org \
--cc=pekon@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).