Hi Boris, Sorry for trouble you. Since I cannot send mail using 'git send-email' right now. I sent this series by outlook. Thanks for your suggestion. I'll fix this soon.
Peter Pan On Fri, 25 Sep 2015 14:54:38 +0000 Boris Brezillon < boris.brezil...@free-electrons.com > wrote: > Hi Peter, > > This comment is not related to the code itself, but next time you send a > patch series, could you send all patches as a reply to the cover letter? > This is automatically done when you use git send-email unless you pass > the --no-thread option. > The following command should do the trick: > > git send-email <path-to-your-patchset-dir>/*.patch > > Best Regards, > > Boris > > On Fri, 25 Sep 2015 06:34:34 +0000 > Peter Pan 潘栋 (peterpandong) <peterpand...@micron.com> wrote: > > > 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). > > NAND family driver should allocate, initialize and free struct nand_bbt. > > > > Below is mtd folder structure we want: > > mtd > > ├── Kconfig > > ├── Makefile > > ├── ... > > ├── nand_bbt.c > > ├── nand > > │ ├── Kconfig > > │ ├── Makefile > > │ ├── nand_base.c > > │ ├── nand_ids.c > > │ ├── ... > > │ └── xway_nand.c > > ├── spi-nand > > │ ├── Kconfig > > │ ├── Makefile > > │ ├── spi-nand-base.c > > │ ├── ... > > │ └── spi-nand-device.c > > └── ... > > > > Most of the patch is borrowed from Brian Norris > <computersforpe...@gmail.com>. > > > http://git.infradead.org/users/norris/linux-mtd.git/shortlog/refs/heads/nan > d-bbt > > Based on Brian's suggestion, I make my previous BBT patch into 12 > independent > > patches. Previous patch is http://patchwork.ozlabs.org/patch/492066/ > > Beside the patch split, I also moved nand_bbt.c to mtd folder, which didn't > in > > previous patch. > > > > Patch 3, 7, 8, 9, 10 and 11 are totally borrowed from Brian's git tree. I > > just > > test and split the code into independent patch. Patch 1, 2, 5 and 6 are > partial > > borrowed. I make some changes from Brian's git tree and the changes are > recorded > > in commit log. Patch 4 and 12 are written by me. > > > > The patch is tested on Zed board. This version of this series is based on > master > > branch of l2-mtd.git (commit > e1305df1283cbe1aa57093f8766b2dfe650ed5ff). > > > > Brian Norris (6): > > mtd: nand_bbt: add new API definitions > > mtd: nand: make nand_erase_nand() static > > mtd: nand_bbt: remove struct nand_chip from nand_bbt.c > > mtd: nand_bbt: remove old API definitions > > mtd: nand_bbt: remove NAND_BBT_DYNAMICSTRUCT macro > > mtd: nand: remove nand_chip.bbt > > Brian Norris and Peter Pan (4): > > mtd: nand_bbt: new header for nand family BBT > > mtd: nand_bbt: introduce struct nand_bbt > > mtd: nand: use new BBT API instead of old ones > > mtd: nand_bbt: use erase() and is_bad_bbm() hook in BBT > > Peter Pan (2): > > mtd: nand_bbt: add nand_bbt_markbad_factory() interface > > mtd: nand-bbt: move nand_bbt.c to mtd folder > > > > --- > > drivers/mtd/Kconfig | 7 + > > drivers/mtd/Makefile | 1 + > > drivers/mtd/nand/Kconfig | 2 +- > > drivers/mtd/nand/Makefile | 2 +- > > drivers/mtd/nand/docg4.c | 6 +- > > drivers/mtd/nand/nand_base.c | 145 ++++- > > drivers/mtd/nand/nand_bbt.c | 1377 > > ------------------------------------------ > > drivers/mtd/nand_bbt.c | 1289 > +++++++++++++++++++++++++++++++++++++++ > > include/linux/mtd/bbm.h | 96 +-- > > include/linux/mtd/nand.h | 16 +- > > include/linux/mtd/nand_bbt.h | 177 ++++++ > > 11 files changed, 1624 insertions(+), 1494 deletions(-) > > delete mode 100644 drivers/mtd/nand/nand_bbt.c > > create mode 100644 drivers/mtd/nand_bbt.c > > create mode 100644 include/linux/mtd/nand_bbt.h > > > > -- > Boris Brezillon, Free Electrons > Embedded Linux and Kernel engineering > http://free-electrons.com