lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <87F60714EC601C4C83DFF1D2E3D390A0326CC82E@NTXXIAMBX02.xacn.micron.com>
Date:	Fri, 25 Sep 2015 06:34:34 +0000
From:	Peter Pan 潘栋 (peterpandong) 
	<peterpandong@...ron.com>
To:	"dwmw2@...radead.org" <dwmw2@...radead.org>,
	Brian Norris <computersforpeace@...il.com>,
	"fransklaver@...il.com" <fransklaver@...il.com>,
	"wsa@...-dreams.de" <wsa@...-dreams.de>,
	"zajec5@...il.com" <zajec5@...il.com>,
	"boris.brezillon@...e-electrons.com" 
	<boris.brezillon@...e-electrons.com>,
	"baruch@...s.co.il" <baruch@...s.co.il>,
	"ezequiel.garcia@...e-electrons.com" 
	<ezequiel.garcia@...e-electrons.com>,
	"kdasu.kdev@...il.com" <kdasu.kdev@...il.com>,
	"rogerq@...com" <rogerq@...com>,
	"asierra@...-inc.com" <asierra@...-inc.com>, bpqw <bpqw@...ron.com>
CC:	"linux-mtd@...ts.infradead.org" <linux-mtd@...ts.infradead.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	Frank Liu 刘群 (frankliu) 
	<frankliu@...ron.com>,
	Peter Pan 潘栋 (peterpandong) 
	<peterpandong@...ron.com>, Kamil Debski <Kamil.Debski@...tec.com>,
	"Ionela Voinescu" <Ionela.Voinescu@...tec.com>,
	Bean Huo 霍斌斌 (beanhuo) 
	<beanhuo@...ron.com>
Subject: [PATCH 00/12] mtd: nand_bbt: introduce independent nand BBT

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@...il.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. 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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ