[U-Boot] [PATCH v5 14/14] dm-sf: Re-factorize spi_flash_std_probe code

Troy Kisky troy.kisky at boundarydevices.com
Tue Oct 27 20:20:12 CET 2015


On 10/27/2015 11:37 AM, Jagan Teki wrote:
> spi_flash_probe_tail code looks not in proper shape
> to add more functionalities. hence refactorized
> so-that it's more readable and hence we may extend
> more functionalies to it.
> 
> Signed-off-by: Jagan Teki <jteki at openedev.com>
> ---
>  drivers/mtd/spi/sf_probe.c | 22 ++++++++++++++--------
>  1 file changed, 14 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/mtd/spi/sf_probe.c b/drivers/mtd/spi/sf_probe.c
> index 319b7e6..87ac33e 100644
> --- a/drivers/mtd/spi/sf_probe.c
> +++ b/drivers/mtd/spi/sf_probe.c
> @@ -123,15 +123,12 @@ int spi_flash_std_erase(struct udevice *dev, u32 offset, size_t len)
>  
>  int spi_flash_std_probe(struct udevice *dev)
>  {
> -	struct dm_spi_slave_platdata *plat = dev_get_parent_platdata(dev);
> +	struct spi_flash *flash = dev_get_uclass_priv(dev);
>  	struct spi_slave *slave = dev_get_parentdata(dev);
> -	struct spi_flash *flash;
>  	int ret;
>  
> -	debug("%s: slave=%p, cs=%d\n", __func__, slave, plat->cs);
> -
> -	flash = dev_get_uclass_priv(dev);
>  	flash->dev = dev;
> +	flash->spi = slave;
>  
>  	/* Claim spi bus */
>  	ret = spi_claim_bus(slave);
> @@ -140,17 +137,26 @@ int spi_flash_std_probe(struct udevice *dev)
>  		return ret;
>  	}
>  
> -	ret = spi_flash_scan(slave, flash);
> +	ret = spi_flash_scan(flash);



Is this bisectable ? It doesn't look like it.


>  	if (ret) {
>  		ret = -EINVAL;
> -		goto err_read_id;
> +		goto err_scan;
>  	}
>  
>  #ifdef CONFIG_SPI_FLASH_MTD
>  	ret = spi_flash_mtd_register(flash);
> +	if (ret) {
> +		printf("SF: failed to register mtd device: %d\n", ret);
> +		goto err_mtd;
> +	}
>  #endif
> +	return ret;
>  
> -err_read_id:
> +#ifdef CONFIG_SPI_FLASH_MTD
> +err_mtd:
> +	spi_free_slave(slave);
> +#endif
> +err_scan:
>  	spi_release_bus(slave);
>  	return ret;
>  }
> 


More information about the U-Boot mailing list