All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/12] mtd: nand_bbt: introduce independent nand BBT
@ 2015-12-15  5:59 Peter Pan
  2015-12-15  5:59 ` [PATCH v2 01/12] mtd: nand_bbt: new header for nand family BBT Peter Pan
                   ` (12 more replies)
  0 siblings, 13 replies; 29+ messages in thread
From: Peter Pan @ 2015-12-15  5:59 UTC (permalink / raw)
  To: computersforpeace, dwmw2, boris.brezillon, fransklaver
  Cc: linux-kernel, linux-mtd, karlzhang, beanhuo, Peter Pan

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 <computersforpeace@gmail.com>.
http://git.infradead.org/users/norris/linux-mtd.git/shortlog/refs/heads/nand-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.

v2 changes:
	rebase patch series on master branch of l2-mtd.git

Brian Norris (10):
  mtd: nand_bbt: new header for nand family BBT
  mtd: nand_bbt: introduce struct nand_bbt
  mtd: nand_bbt: add new API definitions
  mtd: nand: use new BBT API instead of old ones
  mtd: nand_bbt: use erase() and is_bad_bbm() hook in BBT
  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

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 | 542 ++++++++++++++++----------------------
 include/linux/mtd/bbm.h           |  96 +------
 include/linux/mtd/nand.h          |  16 +-
 include/linux/mtd/nand_bbt.h      | 177 +++++++++++++
 10 files changed, 562 insertions(+), 432 deletions(-)
 rename drivers/mtd/{nand => }/nand_bbt.c (68%)
 create mode 100644 include/linux/mtd/nand_bbt.h

-- 
1.9.1


^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2016-01-07  6:04 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-15  5:59 [PATCH v2 00/12] mtd: nand_bbt: introduce independent nand BBT Peter Pan
2015-12-15  5:59 ` [PATCH v2 01/12] mtd: nand_bbt: new header for nand family BBT Peter Pan
2015-12-15  5:59 ` [PATCH v2 02/12] mtd: nand_bbt: introduce struct nand_bbt Peter Pan
2016-01-06 13:12   ` Boris Brezillon
2015-12-15  5:59 ` [PATCH v2 03/12] mtd: nand_bbt: add new API definitions Peter Pan
2015-12-15  5:59 ` [PATCH v2 04/12] mtd: nand_bbt: add nand_bbt_markbad_factory() interface Peter Pan
2015-12-15  5:59 ` [PATCH v2 05/12] mtd: nand: use new BBT API instead of old ones Peter Pan
2016-01-06 13:36   ` Boris Brezillon
2016-01-06 14:38   ` Boris Brezillon
2016-01-06 15:22   ` Boris Brezillon
2016-01-07  6:03     ` Peter Pan
2015-12-15  5:59 ` [PATCH v2 06/12] mtd: nand_bbt: use erase() and is_bad_bbm() hook in BBT Peter Pan
2016-01-06 13:49   ` Boris Brezillon
2015-12-15  5:59 ` [PATCH v2 07/12] mtd: nand: make nand_erase_nand() static Peter Pan
2015-12-15  5:59 ` [PATCH v2 08/12] mtd: nand_bbt: remove struct nand_chip from nand_bbt.c Peter Pan
2016-01-06 15:16   ` Boris Brezillon
2016-01-07  6:04     ` Peter Pan
2015-12-15  5:59 ` [PATCH v2 09/12] mtd: nand_bbt: remove old API definitions Peter Pan
2015-12-15  5:59 ` [PATCH v2 10/12] mtd: nand_bbt: remove NAND_BBT_DYNAMICSTRUCT macro Peter Pan
2015-12-15  5:59 ` [PATCH v2 11/12] mtd: nand: remove nand_chip.bbt Peter Pan
2015-12-15  5:59 ` [PATCH v2 12/12] mtd: nand-bbt: move nand_bbt.c to mtd folder Peter Pan
2015-12-28 20:42 ` [PATCH v2 00/12] mtd: nand_bbt: introduce independent nand BBT Ezequiel Garcia
2015-12-29  9:35   ` Boris Brezillon
2015-12-29 15:07     ` Ezequiel Garcia
2015-12-29 15:11       ` Boris Brezillon
2015-12-30  7:18         ` 潘栋
2015-12-30  8:31           ` Boris Brezillon
2016-01-06 14:29             ` Boris Brezillon
2016-01-07  5:53               ` Peter Pan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.