• Brian Norris's avatar
    mtd: add MEMWRITE ioctl · e99d8b08
    Brian Norris authored
    Implement a new ioctl for writing both page data and OOB to flash at the
    same time. This ioctl is intended to be a generic interface that can
    replace other ioctls (MEMWRITEOOB and MEMWRITEOOB64) and cover the
    functionality of several other old ones, e.g., MEMWRITE can:
    
    * write autoplaced OOB instead of using ECCGETLAYOUT (deprecated) and
      working around the reserved areas
    * write raw (no ECC) OOB instead of using MTDFILEMODE to set the
      per-file-descriptor MTD_FILE_MODE_RAW
    * write raw (no ECC) data instead of using MTDFILEMODE
      (MTD_FILE_MODE_RAW) and using standard character device "write"
    
    This ioctl is especially useful for MLC NAND, which cannot be written
    twice (i.e., we cannot successfully write the page data and OOB in two
    separate operations). Instead, MEMWRITE can write both in a single
    operation.
    
    Note that this ioctl is not affected by the MTD file mode (i.e.,
    MTD_FILE_MODE_RAW vs. MTD_FILE_MODE_NORMAL), since it receives its write
    mode as an input parameter.
    Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
    Signed-off-by: default avatarArtem Bityutskiy <artem.bityutskiy@intel.com>
    e99d8b08
mtd-abi.h 6.38 KB