[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