Hi Boris, On Sun, Oct 16, 2016 at 10:35 PM, Boris Brezillon <[email protected]> wrote: > BBT support is currently tightly tied to raw NAND, though this is the kind > of code we could share across all NAND based devices, no matter what > physical interface is to communicate with the NAND chip. > > Make BBT code interface agnostic by replacing all occurrence of > struct nand_chip by struct nand_device, and move functions that are > specific to raw NANDs to drivers/mtd/nand/rawnand/nand_base.c. > > Signed-off-by: Boris Brezillon <[email protected]> > --- > drivers/mtd/nand/raw/nand_base.c | 78 ++++- > drivers/mtd/nand/raw/nand_bbt.c | 609 > ++++++++++++++++++--------------------- > include/linux/mtd/nand.h | 8 + > include/linux/mtd/rawnand.h | 4 - > 4 files changed, 361 insertions(+), 338 deletions(-) > > diff --git a/drivers/mtd/nand/raw/nand_base.c > b/drivers/mtd/nand/raw/nand_base.c > index b86f4a1bfbe1..4930b3569de9 100644 > --- a/drivers/mtd/nand/raw/nand_base.c > +++ b/drivers/mtd/nand/raw/nand_base.c > @@ -471,7 +471,7 @@ static int nand_block_markbad_lowlevel(struct mtd_info > *mtd, loff_t ofs) > > /* Mark block bad in BBT */ > if (chip->bbt) {
Should be "if (!nand->bbt.bbt)". > - res = nand_markbad_bbt(mtd, ofs); > + res = nand_markbad_bbt(mtd_to_nand(mtd), ofs); > if (!ret) > ret = res; > }

