On Mon, 14 Mar 2016 02:47:53 +0000 Peter Pan <peterpans...@gmail.com> wrote:
> Sorry for send the v3 out late. I went through a busy time in the past > two month. > > Currently nand_bbt.c is tied with struct nand_chip, and it makes other > NAND family chips hard to use nand_bbt.c. Maybe it's the reason why > onenand has own bbt(onenand_bbt.c). > > Separate struct nand_chip from BBT code can make current BBT shareable. > We create struct nand_bbt to take place of nand_chip in nand_bbt.c. > Struct nand_bbt contains all the information BBT needed from outside and > it should be embedded into NAND family chip struct (such as struct nand_chip). > > Below is mtd folder structure we want: > drivers/mtd/nand/<all-nand-core-code> > drivers/mtd/nand/raw/<raw-nand-controller-drivers> > drivers/mtd/nand/spi/<spi-nand-code> > drivers/mtd/nand/onenand/<onenand-code> > drivers/mtd/nand/chips/<manufacturer-spcific-code> Hm, we should have a chips directory under each interface type, because vendor specific handling is dependent on the NAND interface. Otherwise, yes, that's the idea. -- Boris Brezillon, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com