Introduce mtd-peb API
Sascha Hauer
s.hauer at pengutronix.de
Tue Mar 15 04:15:18 PDT 2016
The following series introduces and makes use of the mtd-peb API.
Raw Nand devices are best handled in a eraseblock oriented way. Also
these devices need a proper bad block handling. The regular mtd API
is stream oriented (at least for read/write). Using these functions
includes unhandy use of 64bit arithmetics and handling erasing blocks
and bad blocks requires us to align the offset back to block boundaries.
The UBI IO layer already has a nice API to handle Nand blockwise. This
series strips the API out of the UBI code and makes it available for other
users. It's names the mtd-peb API (peb for Physical Erase Block). UBI
and ubiformat are converted to this API in this series. Another user
will be the i.MX internal nand update code which is converted in another
series.
Since UBI and ubiformat now share more code this series makes the image
a little smaller. Hurray, it's been some time since this last happened.
Sascha
----------------------------------------------------------------
Sascha Hauer (16):
mtd: Add support for marking blocks as good
mtd: nand: Add option to print bbt in nand command
mtd: mtdpart: Add oob_read function
mtd: Introduce function to get mtd type string
mtd: rename mtd_all_ff -> mtd_buf_all_ff
mtd: Introduce mtd_check_pattern
mtd: Introduce mtd-peb API
ubiformat: Use mtd-peb API
remove now unused libmtd
mtd: ubi: Use mtd_all_ff/mtd_check_pattern
mtd: ubi: Use mtd_peb_check_all_ff
mtd: ubi: Use mtd_peb_torture
mtd: ubi: Use mtd_peb_read
mtd: ubi: Use mtd_peb_write
mtd: ubi: Use mtd_peb_erase
mtd: ubi: Make debug options configurable
commands/Kconfig | 1 -
commands/nand.c | 79 +++++--
commands/ubiformat.c | 191 +++++++--------
drivers/mtd/Kconfig | 9 +
drivers/mtd/Makefile | 2 +-
drivers/mtd/core.c | 67 +++++-
drivers/mtd/mtdconcat.c | 24 ++
drivers/mtd/nand/nand_base.c | 61 ++++-
drivers/mtd/partition.c | 38 +++
drivers/mtd/peb.c | 537 +++++++++++++++++++++++++++++++++++++++++++
drivers/mtd/ubi/Kconfig | 13 ++
drivers/mtd/ubi/attach.c | 2 +-
drivers/mtd/ubi/debug.h | 51 +---
drivers/mtd/ubi/io.c | 415 ++-------------------------------
drivers/mtd/ubi/misc.c | 19 --
drivers/mtd/ubi/ubi.h | 2 -
drivers/mtd/ubi/wl.c | 5 -
fs/devfs-core.c | 1 +
include/linux/mtd/mtd-abi.h | 1 +
include/linux/mtd/mtd.h | 6 +-
include/linux/mtd/nand.h | 2 +
include/mtd/libmtd.h | 149 ------------
include/mtd/libscan.h | 3 +-
include/mtd/libubigen.h | 4 +-
include/mtd/mtd-peb.h | 21 ++
lib/Kconfig | 3 -
lib/Makefile | 1 -
lib/libmtd.c | 368 -----------------------------
lib/libscan.c | 30 +--
lib/libubigen.c | 23 +-
30 files changed, 994 insertions(+), 1134 deletions(-)
create mode 100644 drivers/mtd/peb.c
delete mode 100644 include/mtd/libmtd.h
create mode 100644 include/mtd/mtd-peb.h
delete mode 100644 lib/libmtd.c
More information about the barebox
mailing list