Skip to content

NAND update (1st step)

Ladislav Michl barebox 1 version In review

Get series with b4
b4 am 20181028211947.GA14788@lenoch

Versions newest first

  1. v1 Latest16 patches 4 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/16mtd: nand: refactor chip->block_markbad interfacedrivers/mtd/nand/nand_base.c+52 -350 replies
2/16mtd: nand: remove multiplied-by-2 block logicdrivers/mtd/nand/nand_bbt.c+35 -480 replies
3/16mtd: nand: hide in-memory BBT implementation detailsdrivers/mtd/nand/nand_base.c drivers/mtd/nand/nand_bbt.c include/linux/mtd/nand.h+104 -643 replies
4/16mtd: nand: remove NAND_BBT_SCANEMPTYdrivers/mtd/nand/nand_bbt.c drivers/mtd/nand/nand_omap_gpmc.c include/linux/mtd/bbm.h+6 -310 replies
5/16mtd: nand: Request strength instead of bytes for soft BCHdrivers/mtd/nand/nand_base.c+8 -70 replies
6/16mtd: atmel_nand: Add per board ECC setuparch/arm/mach-at91/include/mach/board.h drivers/mtd/nand/atmel_nand.c+5 -00 replies
7/16mtd: nand: simplify nand_bch_init() usagedrivers/mtd/nand/nand_base.c drivers/mtd/nand/nand_bch.c include/linux/mtd/nand_bch.h+21 -220 replies
8/16mtd: nand_bbt: kill NAND_BBT_SCANALLPAGESdrivers/mtd/nand/nand_bbt.c drivers/mtd/nand/nand_omap_gpmc.c include/linux/mtd/bbm.h+3 -370 replies
9/16mtd: nand_bbt: handle error case for nand_create_badblock_pattern()drivers/mtd/nand/nand_bbt.c+6 -20 replies
10/16mtd: nand_bbt: make nand_scan_bbt() staticdrivers/mtd/nand/nand_bbt.c include/linux/mtd/nand.h+1 -20 replies
11/16mtd: nand_bbt: unify/fix error handling in nand_scan_bbt()drivers/mtd/nand/nand_bbt.c+12 -70 replies
12/16mtd: nand_bbt: Move BBT block selection logic out of write_bbt()drivers/mtd/nand/nand_bbt.c+74 -360 replies
13/16mtd: nand_bbt: scan for next free bbt block if writing bbt failsdrivers/mtd/nand/nand_bbt.c+45 -60 replies
14/16mtd: nand: Kill the chip->scan_bbt() hookdrivers/mtd/nand/nand_base.c drivers/mtd/nand/nand_bbt.c drivers/mtd/nand/nand_imx_bbm.c +2 more+17 -321 reply
15/16mtd: nand: Kill cellinfodrivers/mtd/nand/nand_base.c include/linux/mtd/nand.h+21 -110 replies
16/16mtd: nand: detect OOB size for Toshiba 24nm raw SLCdrivers/mtd/nand/nand_base.c+14 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 00/16] NAND update (1st step)

The ultimate goal we are still quite far away is to update MTD subsystem to something more recent. As it is rather hard to accomplish by simply importing core files from linux-4.19 as there are many NAND drivers not even present in mainline kernel in current (barebox) form, let's choose incremental updating.

This patchset is rather selfish (and I'm sorry for that); its sole purpose is being able to use Toshiba NAND (needing 8bit ECC) on AT91SAM9G20 based board. This is also the only board I was able to do runtime testing. To do this "mtd: atmel_nand: Add per board ECC setup" patch is introduced. This shall be considered temporary solution. As MTD core will be updated, we can import rewritten Atmel NAND driver.

There more in queue, most notably mtd_ooblayout_ops conversion, but let's focus on this serie first :)

Special thanks goes to Boris Brezillon for guiding me though pitfalls of NAND devices while debugging Toshiba NAND support in Barebox.

Comments (or even help with fixes) very welcome, this will be likely a bit painfull update.

Ladislav Michl (16):
mtd: nand: refactor chip->block_markbad interface
mtd: nand: remove multiplied-by-2 block logic
mtd: nand: hide in-memory BBT implementation details
mtd: nand: remove NAND_BBT_SCANEMPTY
mtd: nand: Request strength instead of bytes for soft BCH
mtd: atmel_nand: Add per board ECC setup
mtd: nand: simplify nand_bch_init() usage
mtd: nand_bbt: kill NAND_BBT_SCANALLPAGES
mtd: nand_bbt: handle error case for nand_create_badblock_pattern()
mtd: nand_bbt: make nand_scan_bbt() static
mtd: nand_bbt: unify/fix error handling in nand_scan_bbt()
mtd: nand_bbt: Move BBT block selection logic out of write_bbt()
mtd: nand_bbt: scan for next free bbt block if writing bbt fails
mtd: nand: Kill the chip->scan_bbt() hook
mtd: nand: Kill cellinfo
mtd: nand: detect OOB size for Toshiba 24nm raw SLC

 arch/arm/mach-at91/include/mach/board.h |   2 +
 drivers/mtd/nand/atmel_nand.c           |   3 +
 drivers/mtd/nand/nand_base.c            | 274 +++++++++--------
 drivers/mtd/nand/nand_bbt.c             | 385 ++++++++++++++----------
 drivers/mtd/nand/nand_bch.c             |  27 +-
 drivers/mtd/nand/nand_imx_bbm.c         |   2 +-
 drivers/mtd/nand/nand_mxs.c             |  27 +-
 drivers/mtd/nand/nand_omap_gpmc.c       |   1 -
 include/linux/mtd/bbm.h                 |   4 -
 include/linux/mtd/nand.h                |  13 +-
 include/linux/mtd/nand_bch.h            |   8 +-
 11 files changed, 415 insertions(+), 331 deletions(-)
Signature · 7 lines
2.19.1


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox