Hi Boris, 2014-02-11 13:46 GMT-08:00 Boris BREZILLON <[email protected]>: > Hello, > > 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.
Although the idea does look nice on the paper, I wonder if it is 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/ -- Florian -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

