Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1356859 > unrolled thread

Re: [PATCH 00/11] mtd: nand_bbt: introduce independent nand BBT

Started byPeter Pan <peterpansjtu@gmail.com>
First post2016-03-14 04:00 +0100
Last post2016-03-16 14:00 +0100
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH 00/11] mtd: nand_bbt: introduce independent nand BBT Peter Pan <peterpansjtu@gmail.com> - 2016-03-14 04:00 +0100
    Re: [PATCH 00/11] mtd: nand_bbt: introduce independent nand BBT Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-03-16 14:00 +0100

#1356859 — Re: [PATCH 00/11] mtd: nand_bbt: introduce independent nand BBT

FromPeter Pan <peterpansjtu@gmail.com>
Date2016-03-14 04:00 +0100
SubjectRe: [PATCH 00/11] mtd: nand_bbt: introduce independent nand BBT
Message-ID<rcqTE-62u-15@gated-at.bofh.it>
Sorry I forgot to add subject prefix. Should I re-send it ?

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
>

[toc] | [next] | [standalone]


#1358961

FromBoris Brezillon <boris.brezillon@free-electrons.com>
Date2016-03-16 14:00 +0100
Message-ID<rdjdo-Cv-9@gated-at.bofh.it>
In reply to#1356859
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

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web