Hello!
This series adds support for the mtdblock device, which
allows to read/write data block by block. For example,
it can now be used for BCB or Android AB command:
$ bcb load mtd 0 part_name
Tested only on SPI NAND, so bind is made only for
SPI NAND drivers.
---
Changes V1 -> V2 [1]:
- Drop patch [2].
- Add warning if bind NAND mtdblock device.
- Move documentation of mtdblock implementation
from commit message to the source code.
- Remove __maybe_unused from mtd partition functions
description.
- Use blk_enabled() instead of #ifdefs.
Changes V2 -> V3 [2]:
- Rebased over [3].
- Rename mtd_bread/bwrite -> mtd_blk_read/write.
- Fix GPL-2.0 license short name definiton in headers.
- Add empty line after MTD_ENTRY_NUMBERS define.
Changes V3 -> V4 [4]:
- Fix build warnings: use LBAF printf format string for lbaint_t types.
Changes V4 -> V5 [5]:
- Rebased over u-boot/master.
- Fix build errors and warnings if CONFIG_BLK isn't enabled.
- Fix failed tests in cases is mtdblock device isn't binded.
Changes V5 -> V6 [6]:
- Rebased over u-boot/master.
- Fix build errors when CONFIG_MTD isn't enabled.
- Use auto blk device devnum generation when call
blk_create_devicef (pass -1 parameter instead of dev_seq(dev)).
Links:
- [1]
https://lore.kernel.org/all/[email protected]/
- [2]
https://lore.kernel.org/all/[email protected]/
- [3]
https://lore.kernel.org/u-boot/[email protected]/T/#u
- [4]
https://lore.kernel.org/all/[email protected]/
- [5]
https://lore.kernel.org/all/[email protected]/
- [6]
https://lore.kernel.org/all/[email protected]/
Alexey Romanov (3):
disk: support MTD partitions
drivers: introduce mtdblock abstraction
spinand: bind mtdblock
disk/part.c | 3 +-
drivers/block/blk-uclass.c | 1 +
drivers/mtd/Kconfig | 1 +
drivers/mtd/Makefile | 3 +
drivers/mtd/mtdblock.c | 227 ++++++++++++++++++++++++++++++++++++
drivers/mtd/mtdpart.c | 76 ++++++++++++
drivers/mtd/nand/spi/core.c | 20 ++++
include/linux/mtd/mtd.h | 25 ++++
include/part.h | 3 +
9 files changed, 358 insertions(+), 1 deletion(-)
create mode 100644 drivers/mtd/mtdblock.c
--
2.34.1