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. Links: - [1] https://lore.kernel.org/all/20240227100441.1811047-1-avroma...@salutedevices.com/ - [2] https://lore.kernel.org/all/20240227100441.1811047-5-avroma...@salutedevices.com/ - [3] https://lore.kernel.org/u-boot/20240403114047.84030-1-heinrich.schucha...@canonical.com/T/#u - [4] https://lore.kernel.org/all/20240404105813.1520732-1-avroma...@salutedevices.com/ - [5] https://lore.kernel.org/all/20240524102920.2631731-1-avroma...@salutedevices.com/ 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 | 1 + drivers/mtd/mtdblock.c | 227 ++++++++++++++++++++++++++++++++++++ drivers/mtd/mtdpart.c | 76 ++++++++++++ drivers/mtd/nand/spi/core.c | 20 ++++ include/linux/mtd/mtd.h | 21 ++++ include/part.h | 3 + 9 files changed, 352 insertions(+), 1 deletion(-) create mode 100644 drivers/mtd/mtdblock.c -- 2.34.1