Hi Boris,
2014-02-11 13:46 GMT-08:00 Boris BREZILLON <b.brezillon.dev@xxxxxxxxx>:
Hello,Although the idea does look nice on the paper, I wonder if it is
This patch series is a proposal to add per partition ECC config.
It defines a new partition type called nand_part which stores a pointer to
a nand_ecc_ctrl struct.
This specific nand_ecc_ctrl struct is used in place of the base NAND chip
nand_ecc_ctrl struct when accessing NAND chip from nand_part MTD device.
If the partition does not define any ECC config, the NAND chip ECC config
is used instead.
really useful to have that much complexity in the kernel. Most likely
what is happening is that your bootloader partition has a specific ECC
scheme due to the CPU bootrom or whatever early bootagent is running
on the system. When that is the case, this can be solved in user-space
by preparing full pages (main+spare) along with their specific ECC
requirements and use the MTD_FILE_MODE_RAW option on your specific MTD
partition.
You do not describe what is the end goal of this patchset, which might
help figuring out the potential other platforms requirements etc...
This patch series also provides an helper function to parse DT defined NAND
partitions (ofnandpart_parse).
If you want to test it you'll have to replace calls to
mtd_device_parse_register with ofnandpart_parse within your NAND controller
driver and implement a driver specific parser function that will provide
the ECC config (see ofnandpart_data struct).
The 4th patch of this series is here as an example on how to move from MTD
partitions to NAND partitions.
Best Regards,
Boris
Changes since v1:
- almost everything :-)
Boris BREZILLON (4):
mtd: nand: take nand_ecc_ctrl initialization out of nand_scan_tail
mtd: nand: add support for NAND partitions
mtd: nand: add DT NAND partition parser
mtd: nand: add NAND partition support to the sunxi driver
drivers/mtd/nand/Kconfig | 4 +
drivers/mtd/nand/Makefile | 2 +
drivers/mtd/nand/nand_base.c | 763 ++++++++++++++++++++++++++++++++---------
drivers/mtd/nand/ofnandpart.c | 104 ++++++
drivers/mtd/nand/sunxi_nand.c | 69 +++-
include/linux/mtd/nand.h | 54 +++
6 files changed, 835 insertions(+), 161 deletions(-)
create mode 100644 drivers/mtd/nand/ofnandpart.c
--
1.7.9.5
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/