diff options
Diffstat (limited to 'target/linux')
-rw-r--r-- | target/linux/ramips/patches-3.10/0213-MTD-add-mt7621-nand-support.patch | 24 |
1 files changed, 1 insertions, 23 deletions
diff --git a/target/linux/ramips/patches-3.10/0213-MTD-add-mt7621-nand-support.patch b/target/linux/ramips/patches-3.10/0213-MTD-add-mt7621-nand-support.patch index 6e8aec9..93ce9e1 100644 --- a/target/linux/ramips/patches-3.10/0213-MTD-add-mt7621-nand-support.patch +++ b/target/linux/ramips/patches-3.10/0213-MTD-add-mt7621-nand-support.patch @@ -4089,32 +4089,10 @@ Signed-off-by: John Crispin <blogic@openwrt.org> struct nand_chip *chip = mtd->priv; --- a/drivers/mtd/nand/nand_bbt.c +++ b/drivers/mtd/nand/nand_bbt.c -@@ -1378,6 +1378,47 @@ int nand_isbad_bbt(struct mtd_info *mtd, +@@ -1378,6 +1378,25 @@ int nand_isbad_bbt(struct mtd_info *mtd, return 1; } -+/** -+ * nand_markbad_bbt - [NAND Interface] Mark a block bad in the BBT -+ * @mtd: MTD device structure -+ * @offs: offset of the bad block -+ */ -+int nand_markbad_bbt(struct mtd_info *mtd, loff_t offs) -+{ -+ struct nand_chip *this = mtd->priv; -+ int block, ret = 0; -+ -+ block = (int)(offs >> this->bbt_erase_shift); -+ -+ /* Mark bad block in memory */ -+ bbt_mark_entry(this, block, BBT_BLOCK_WORN); -+ -+ /* Update flash-based bad block table */ -+ if (this->bbt_options & NAND_BBT_USE_FLASH) -+ ret = nand_update_bbt(mtd, offs); -+ -+ return ret; -+} -+ +void nand_bbt_set(struct mtd_info *mtd, int page, int flag) +{ + struct nand_chip *this = mtd->priv; |