aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/nand/raw/nand_bbt.c
diff options
context:
space:
mode:
authorFrieder Schrempf <frieder.schrempf@kontron.de>2019-04-17 12:36:34 +0000
committerMiquel Raynal <miquel.raynal@bootlin.com>2019-04-18 08:54:07 +0200
commit04649ec1335f2289c230f080e52e09f7b9c95c4a (patch)
tree16b92c2010a49ae1892a97a32a684242bd80a6c1 /drivers/mtd/nand/raw/nand_bbt.c
parentmtd: rawnand: meson: only initialize the RB completion once (diff)
downloadlinux-dev-04649ec1335f2289c230f080e52e09f7b9c95c4a.tar.xz
linux-dev-04649ec1335f2289c230f080e52e09f7b9c95c4a.zip
mtd: rawnand: Always store info about bad block markers in chip struct
The information about where the manufacturer puts the bad block markers inside the bad block and in the OOB data is stored in different places. Let's move this information to nand_chip.options and nand_chip.badblockpos. As this chip-specific information is not directly related to the bad block table (BBT), we also rename the flags to NAND_BBM_*. Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de> Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Diffstat (limited to 'drivers/mtd/nand/raw/nand_bbt.c')
-rw-r--r--drivers/mtd/nand/raw/nand_bbt.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/mtd/nand/raw/nand_bbt.c b/drivers/mtd/nand/raw/nand_bbt.c
index 9a7855839f81..4915dd7283bb 100644
--- a/drivers/mtd/nand/raw/nand_bbt.c
+++ b/drivers/mtd/nand/raw/nand_bbt.c
@@ -468,7 +468,7 @@ static int create_bbt(struct nand_chip *this, uint8_t *buf,
pr_info("Scanning device for bad blocks\n");
- if (bd->options & NAND_BBT_SCAN2NDPAGE)
+ if (this->options & NAND_BBM_SECONDPAGE)
numpages = 2;
else
numpages = 1;
@@ -489,7 +489,7 @@ static int create_bbt(struct nand_chip *this, uint8_t *buf,
from = (loff_t)startblock << this->bbt_erase_shift;
}
- if (this->bbt_options & NAND_BBT_SCANLASTPAGE)
+ if (this->options & NAND_BBM_LASTPAGE)
from += mtd->erasesize - (mtd->writesize * numpages);
for (i = startblock; i < numblocks; i++) {