public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH v2 0/5] mtdchar: add MEMREAD ioctl
@ 2021-12-16  8:34 Michał Kępień
  2021-12-16  8:34 ` [PATCH v2 1/5] " Michał Kępień
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Michał Kępień @ 2021-12-16  8:34 UTC (permalink / raw)
  To: Miquel Raynal, Richard Weinberger, Vignesh Raghavendra
  Cc: Boris Brezillon, linux-mtd, linux-kernel

This patch series adds a new mtdchar ioctl, MEMREAD.  Its purpose is to
serve as a read counterpart of the MEMWRITE ioctl, exposing a broader
set of capabilities for read operations (e.g. use of MTD_OPS_AUTO_OOB,
access to ECC statistics) to user-space applications making use of MTD
devices via /dev/mtd* character devices.

Changes from v1:

  - Added patches 2-5 which enable the new MEMREAD ioctl to report ECC
    statistics for the read operation back to user space.  (There are
    obviously different ways these changes can be split up into separate
    commits; I was aiming for maximum ease of review.)

  - The 'retlen' and 'oobretlen' fields were not set in the struct
    mtd_read_req returned to userspace.  This was done properly in
    Boris' original draft patch [1], but I missed it in my v1.

  - Invalid IS_ERR() checks were replaced with NULL checks.  This was an
    artifact of copy-pasting mtdchar_write_ioctl() in v1: unlike
    memdup_user() used therein, kmalloc() always returns NULL on error.

  - Minor subject prefix adjustment for patch 1/5 ("mtd" -> "mtdchar").

[1] https://www.infradead.org/pipermail/linux-mtd/2016-April/067187.html

Michał Kępień (5):
  mtdchar: add MEMREAD ioctl
  mtd: track maximum number of bitflips for each read request
  mtd: always initialize 'stats' in struct mtd_oob_ops
  mtd: add ECC error accounting for each read request
  mtdchar: extend MEMREAD ioctl to return ECC statistics

 drivers/mtd/devices/docg3.c             |   8 ++
 drivers/mtd/inftlcore.c                 |   6 +-
 drivers/mtd/mtdchar.c                   | 136 ++++++++++++++++++++++++
 drivers/mtd/mtdcore.c                   |   5 +
 drivers/mtd/mtdswap.c                   |   6 +-
 drivers/mtd/nand/onenand/onenand_base.c |  16 ++-
 drivers/mtd/nand/onenand/onenand_bbt.c  |   2 +-
 drivers/mtd/nand/raw/nand_base.c        |  10 ++
 drivers/mtd/nand/raw/nand_bbt.c         |   8 +-
 drivers/mtd/nand/raw/sm_common.c        |   2 +-
 drivers/mtd/nand/spi/core.c             |  10 ++
 drivers/mtd/nftlcore.c                  |   6 +-
 drivers/mtd/sm_ftl.c                    |   4 +-
 drivers/mtd/ssfdc.c                     |   2 +-
 drivers/mtd/tests/nandbiterrs.c         |   2 +-
 drivers/mtd/tests/oobtest.c             |   8 +-
 drivers/mtd/tests/readtest.c            |   2 +-
 fs/jffs2/wbuf.c                         |   6 +-
 include/linux/mtd/mtd.h                 |   7 ++
 include/uapi/mtd/mtd-abi.h              |  64 ++++++++++-
 20 files changed, 276 insertions(+), 34 deletions(-)

-- 
2.34.1


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

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

end of thread, other threads:[~2021-12-16 13:35 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-16  8:34 [PATCH v2 0/5] mtdchar: add MEMREAD ioctl Michał Kępień
2021-12-16  8:34 ` [PATCH v2 1/5] " Michał Kępień
2021-12-16  8:34 ` [PATCH v2 2/5] mtd: track maximum number of bitflips for each read request Michał Kępień
2021-12-16  8:34 ` [PATCH v2 3/5] mtd: always initialize 'stats' in struct mtd_oob_ops Michał Kępień
2021-12-16  8:34 ` [PATCH v2 4/5] mtd: add ECC error accounting for each read request Michał Kępień
2021-12-16  8:34 ` [PATCH v2 5/5] mtdchar: extend MEMREAD ioctl to return ECC statistics Michał Kępień
2021-12-16 10:24 ` [PATCH v2 0/5] mtdchar: add MEMREAD ioctl Boris Brezillon
2021-12-16 13:12   ` Michał Kępień

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox