
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@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; }