mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Sascha Hauer <s.hauer@pengutronix.de>
To: Barebox List <barebox@lists.infradead.org>
Subject: Introduce mtd-peb API
Date: Tue, 15 Mar 2016 12:15:18 +0100	[thread overview]
Message-ID: <1458040534-6171-1-git-send-email-s.hauer@pengutronix.de> (raw)

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

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

             reply	other threads:[~2016-03-15 11:16 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-15 11:15 Sascha Hauer [this message]
2016-03-15 11:15 ` [PATCH 01/16] mtd: Add support for marking blocks as good Sascha Hauer
2016-03-15 11:15 ` [PATCH 02/16] mtd: nand: Add option to print bbt in nand command Sascha Hauer
2016-03-15 11:15 ` [PATCH 03/16] mtd: mtdpart: Add oob_read function Sascha Hauer
2016-03-15 11:15 ` [PATCH 04/16] mtd: Introduce function to get mtd type string Sascha Hauer
2016-03-15 11:15 ` [PATCH 05/16] mtd: rename mtd_all_ff -> mtd_buf_all_ff Sascha Hauer
2016-03-15 11:15 ` [PATCH 06/16] mtd: Introduce mtd_check_pattern Sascha Hauer
2016-03-15 11:15 ` [PATCH 07/16] mtd: Introduce mtd-peb API Sascha Hauer
2016-03-15 11:15 ` [PATCH 08/16] ubiformat: Use " Sascha Hauer
2016-03-15 11:15 ` [PATCH 09/16] remove now unused libmtd Sascha Hauer
2016-03-15 11:15 ` [PATCH 10/16] mtd: ubi: Use mtd_all_ff/mtd_check_pattern Sascha Hauer
2016-03-15 11:15 ` [PATCH 11/16] mtd: ubi: Use mtd_peb_check_all_ff Sascha Hauer
2016-03-15 11:15 ` [PATCH 12/16] mtd: ubi: Use mtd_peb_torture Sascha Hauer
2016-03-15 11:15 ` [PATCH 13/16] mtd: ubi: Use mtd_peb_read Sascha Hauer
2016-03-15 11:15 ` [PATCH 14/16] mtd: ubi: Use mtd_peb_write Sascha Hauer
2016-03-15 11:15 ` [PATCH 15/16] mtd: ubi: Use mtd_peb_erase Sascha Hauer
2016-03-15 11:15 ` [PATCH 16/16] mtd: ubi: Make debug options configurable Sascha Hauer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1458040534-6171-1-git-send-email-s.hauer@pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox