Messages in this thread | | | Date | Wed, 16 Mar 2016 13:57:00 +0100 | From | Boris Brezillon <> | Subject | Re: [PATCH 00/11] mtd: nand_bbt: introduce independent nand BBT |
| |
Hi Peter,
On Mon, 14 Mar 2016 10:57:49 +0800 Peter Pan <peterpansjtu@gmail.com> wrote:
> Sorry I forgot to add subject prefix. Should I re-send it ?
No that should be fine. Thanks for reworking this series as suggested. I'll try to review it soon.
> > On Mon, Mar 14, 2016 at 10:47 AM, Peter Pan <peterpansjtu@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> > > > > Most of the patch is borrowed from Brian Norris <computersforpeace@gmail.com>. > > http://git.infradead.org/users/norris/linux-mtd.git/shortlog/refs/heads/nand-bbt > > I decided the authorship of each patch by contribution. Please let me know if > > there is something unproper. > > Based on Brian's suggestion and Boris's comments, I make 11 independent > > patches. Previous patch is http://patchwork.ozlabs.org/patch/492066/ > > After discussion with Boris and Ezequiel, I realized above structure is better, > > so I drop the patch to move nand_bbt.c to mtd folder. > > > > The patch is tested on Zed board. > > > > v3 changes: > > introduce struct nand_bbt_ops > > introduce struct nand_chip_layout_info > > add nand_bbt_create/destroy() API > > use mtd_to_nand instead mtd->priv directly > > remove mark_bad_bbm() due to no user yet > > keep nand_bbt.c in mtd/nand folder > > add nand_get_bbt() helper function > > rebase patch series on 4.5.0-rc1 > > v2 changes: > > rebase patch series on master branch of l2-mtd.git > > > > > > Brian Norris (7): > > mtd: nand_bbt: new header for nand family BBT > > mtd: nand_bbt: introduce BBT related data structure > > mtd: nand_bbt: use struct nand_bbt_ops in BBT > > mtd: nand: make nand_erase_nand() static > > mtd: nand_bbt: remove struct nand_chip from nand_bbt.c > > mtd: nand_bbt: remove NAND_BBT_DYNAMICSTRUCT macro > > mtd: nand: remove nand_chip.bbt > > > > Peter Pan (4): > > mtd: nand_bbt: add new API definitions > > mtd: nand_bbt: add nand_bbt_markbad_factory() interface > > mtd: nand: use new BBT API instead of old ones > > mtd: nand_bbt: remove old API definitions > > > > drivers/mtd/nand/docg4.c | 7 +- > > drivers/mtd/nand/nand_base.c | 156 ++++++++++- > > drivers/mtd/nand/nand_bbt.c | 604 +++++++++++++++++++++---------------------- > > include/linux/mtd/bbm.h | 96 +------ > > include/linux/mtd/nand.h | 22 +- > > include/linux/mtd/nand_bbt.h | 190 ++++++++++++++ > > 6 files changed, 644 insertions(+), 431 deletions(-) > > create mode 100644 include/linux/mtd/nand_bbt.h > > > > -- > > 1.9.1 > >
-- Boris Brezillon, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
| |