summaryrefslogtreecommitdiff
path: root/target/linux/brcm63xx/patches-4.4/000-4.5-04-mtd-spi-nor-drop-unnecessary-partition-parser-data.patch
diff options
context:
space:
mode:
authorJonas Gorski <jonas.gorski@gmail.com>2016-08-09 11:23:32 +0200
committerJonas Gorski <jonas.gorski@gmail.com>2016-08-13 15:49:35 +0200
commit0ddae04c226983e1e064d8750b8bb8724f077ad9 (patch)
tree84f901cf5188629c2bd08d24c9cf743d29f01497 /target/linux/brcm63xx/patches-4.4/000-4.5-04-mtd-spi-nor-drop-unnecessary-partition-parser-data.patch
parent86ec4104181992400363e5602c11079e79524d9c (diff)
downloadmtk-20170518-0ddae04c226983e1e064d8750b8bb8724f077ad9.zip
mtk-20170518-0ddae04c226983e1e064d8750b8bb8724f077ad9.tar.gz
mtk-20170518-0ddae04c226983e1e064d8750b8bb8724f077ad9.tar.bz2
brcm63xx: backport mtd of node changes from upstream
Should fix parser data containing uninitialized values for of probed physmap flashes, which could break e.g. the redboot parser. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Diffstat (limited to 'target/linux/brcm63xx/patches-4.4/000-4.5-04-mtd-spi-nor-drop-unnecessary-partition-parser-data.patch')
-rw-r--r--target/linux/brcm63xx/patches-4.4/000-4.5-04-mtd-spi-nor-drop-unnecessary-partition-parser-data.patch83
1 files changed, 83 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/patches-4.4/000-4.5-04-mtd-spi-nor-drop-unnecessary-partition-parser-data.patch b/target/linux/brcm63xx/patches-4.4/000-4.5-04-mtd-spi-nor-drop-unnecessary-partition-parser-data.patch
new file mode 100644
index 0000000..dafde16
--- /dev/null
+++ b/target/linux/brcm63xx/patches-4.4/000-4.5-04-mtd-spi-nor-drop-unnecessary-partition-parser-data.patch
@@ -0,0 +1,83 @@
+From df02c885f8697546da41665f28dde5e30ce99674 Mon Sep 17 00:00:00 2001
+From: Brian Norris <computersforpeace@gmail.com>
+Date: Fri, 30 Oct 2015 20:33:26 -0700
+Subject: [PATCH] mtd: spi-nor: drop unnecessary partition parser data
+
+Now that the SPI-NOR/MTD framework pass the 'flash_node' through to the
+partition parsing code, we don't have to do it ourselves.
+
+Also convert to mtd_device_register(), since we don't need the 2nd and
+3rd parameters anymore.
+
+Signed-off-by: Brian Norris <computersforpeace@gmail.com>
+Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com>
+---
+ drivers/mtd/devices/m25p80.c | 8 ++------
+ drivers/mtd/spi-nor/fsl-quadspi.c | 4 +---
+ drivers/mtd/spi-nor/nxp-spifi.c | 4 +---
+ 3 files changed, 4 insertions(+), 12 deletions(-)
+
+--- a/drivers/mtd/devices/m25p80.c
++++ b/drivers/mtd/devices/m25p80.c
+@@ -197,7 +197,6 @@ static int m25p80_erase(struct spi_nor *
+ */
+ static int m25p_probe(struct spi_device *spi)
+ {
+- struct mtd_part_parser_data ppdata;
+ struct flash_platform_data *data;
+ struct m25p *flash;
+ struct spi_nor *nor;
+@@ -249,11 +248,8 @@ static int m25p_probe(struct spi_device
+ if (ret)
+ return ret;
+
+- ppdata.of_node = spi->dev.of_node;
+-
+- return mtd_device_parse_register(&nor->mtd, NULL, &ppdata,
+- data ? data->parts : NULL,
+- data ? data->nr_parts : 0);
++ return mtd_device_register(&nor->mtd, data ? data->parts : NULL,
++ data ? data->nr_parts : 0);
+ }
+
+
+--- a/drivers/mtd/spi-nor/fsl-quadspi.c
++++ b/drivers/mtd/spi-nor/fsl-quadspi.c
+@@ -927,7 +927,6 @@ static void fsl_qspi_unprep(struct spi_n
+ static int fsl_qspi_probe(struct platform_device *pdev)
+ {
+ struct device_node *np = pdev->dev.of_node;
+- struct mtd_part_parser_data ppdata;
+ struct device *dev = &pdev->dev;
+ struct fsl_qspi *q;
+ struct resource *res;
+@@ -1038,8 +1037,7 @@ static int fsl_qspi_probe(struct platfor
+ if (ret)
+ goto mutex_failed;
+
+- ppdata.of_node = np;
+- ret = mtd_device_parse_register(mtd, NULL, &ppdata, NULL, 0);
++ ret = mtd_device_register(mtd, NULL, 0);
+ if (ret)
+ goto mutex_failed;
+
+--- a/drivers/mtd/spi-nor/nxp-spifi.c
++++ b/drivers/mtd/spi-nor/nxp-spifi.c
+@@ -271,7 +271,6 @@ static void nxp_spifi_dummy_id_read(stru
+ static int nxp_spifi_setup_flash(struct nxp_spifi *spifi,
+ struct device_node *np)
+ {
+- struct mtd_part_parser_data ppdata;
+ enum read_mode flash_read;
+ u32 ctrl, property;
+ u16 mode = 0;
+@@ -361,8 +360,7 @@ static int nxp_spifi_setup_flash(struct
+ return ret;
+ }
+
+- ppdata.of_node = np;
+- ret = mtd_device_parse_register(&spifi->nor.mtd, NULL, &ppdata, NULL, 0);
++ ret = mtd_device_register(&spifi->nor.mtd, NULL, 0);
+ if (ret) {
+ dev_err(spifi->dev, "mtd device parse failed\n");
+ return ret;