mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 05:54:26 -04:00 
			
		
		
		
	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;
 |