mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-21 06:33:41 +00:00
0ddae04c22
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>
84 lines
2.7 KiB
Diff
84 lines
2.7 KiB
Diff
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;
|