linux-mtd.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
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

  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).