diff options
Diffstat (limited to 'target/linux/sunxi/patches-4.1/124-mtd-nand-sunxi-fallback-to-chip-config.patch')
-rw-r--r-- | target/linux/sunxi/patches-4.1/124-mtd-nand-sunxi-fallback-to-chip-config.patch | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/target/linux/sunxi/patches-4.1/124-mtd-nand-sunxi-fallback-to-chip-config.patch b/target/linux/sunxi/patches-4.1/124-mtd-nand-sunxi-fallback-to-chip-config.patch deleted file mode 100644 index cba30d2..0000000 --- a/target/linux/sunxi/patches-4.1/124-mtd-nand-sunxi-fallback-to-chip-config.patch +++ /dev/null @@ -1,65 +0,0 @@ -From de994d9c849ca0ca020fccfa1916afcde7f313f2 Mon Sep 17 00:00:00 2001 -From: Boris BREZILLON <boris.brezillon@free-electrons.com> -Date: Sun, 24 Aug 2014 10:40:44 +0200 -Subject: [PATCH] mtd: nand: sunxi: Fallback to chip config when partition - config is not available - -Fallback to chip config for partitions where ecc/rnd config are not -specified in the device tree. - -Signed-off-by: Boris BREZILLON <boris.brezillon@free-electrons.com> -Signed-off-by: Hans de Goede <hdegoede@redhat.com> ---- - drivers/mtd/nand/sunxi_nand.c | 27 ++++++++++++++++++--------- - 1 file changed, 18 insertions(+), 9 deletions(-) - ---- a/drivers/mtd/nand/sunxi_nand.c -+++ b/drivers/mtd/nand/sunxi_nand.c -@@ -1709,28 +1709,37 @@ static void sunxi_nand_part_release(stru - struct nand_part *sunxi_ofnandpart_parse(void *priv, struct mtd_info *master, - struct device_node *pp) - { -+ struct nand_chip *chip = master->priv; - struct sunxi_nand_part *part; - int ret; - - part = kzalloc(sizeof(*part), GFP_KERNEL); - part->part.release = sunxi_nand_part_release; - -- ret = sunxi_nand_ecc_init(master, &part->ecc, pp); -- if (ret) -- goto err; -- -- ret = sunxi_nand_rnd_init(master, &part->rnd, &part->ecc, pp); -- if (ret) { -- sunxi_nand_ecc_cleanup(&part->ecc); -- goto err; -+ if (of_find_property(pp, "nand-ecc-mode", NULL)) { -+ ret = sunxi_nand_ecc_init(master, &part->ecc, pp); -+ if (ret) -+ goto err; -+ -+ part->part.ecc = &part->ecc; - } - -- part->part.ecc = &part->ecc; -- part->part.rnd = &part->rnd; -+ if (of_find_property(pp, "nand-rnd-mode", NULL)) { -+ ret = sunxi_nand_rnd_init(master, &part->rnd, -+ part->part.ecc ? part->part.ecc : &chip->ecc, -+ pp); -+ if (ret) -+ goto err; -+ -+ part->part.rnd = &part->rnd; -+ } - - return &part->part; - - err: -+ if (part->part.ecc) -+ sunxi_nand_ecc_cleanup(part->part.ecc); -+ - kfree(part); - return ERR_PTR(ret); - } |