openwrt-owl/target/linux/mediatek/patches-4.4/0059-mtd-nand-backport-fixe...

42 lines
1.2 KiB
Diff

From 96bddff914c0cee1b16d809220e84b470b433122 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 31 Mar 2016 02:28:08 +0200
Subject: [PATCH 59/91] mtd: nand: backport fixes
---
drivers/mtd/nand/mtksdg1_nand.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
--- a/drivers/mtd/nand/mtksdg1_nand.c
+++ b/drivers/mtd/nand/mtksdg1_nand.c
@@ -107,6 +107,9 @@ static struct nand_ecclayout nand_4k_128
.oobfree = { {0, 32} },
};
+static const char * const part_probes[] = {
+ "cmdlinepart", "RedBoot", "ofpart", NULL };
+
/* NFI register access */
static inline void mtk_nfi_writel(struct mtk_nfc_host *host, u32 val, u32 reg)
{
@@ -1298,6 +1301,7 @@ static int mtk_nfc_probe(struct platform
chip = &host->chip;
mtd = nand_to_mtd(chip);
+ mtd->priv = chip;
host->dev = dev;
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
@@ -1428,7 +1432,10 @@ static int mtk_nfc_probe(struct platform
}
host->switch_oob = false;
- ret = mtd_device_parse_register(mtd, NULL, NULL, NULL, 0);
+ ret = mtd_device_parse_register(mtd, part_probes,
+ &(struct mtd_part_parser_data) {
+ .of_node = pdev->dev.of_node,
+ }, NULL, 0);
if (ret) {
dev_err(dev, "mtd parse partition error\n");
goto nand_free;