From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jagan Teki Date: Sat, 7 Nov 2015 19:16:28 +0530 Subject: [U-Boot] [PATCH v6 14/23] dm-sf: Re-factorize spi_flash_std_probe code In-Reply-To: <1446903997-1864-1-git-send-email-jteki@openedev.com> References: <1446903997-1864-1-git-send-email-jteki@openedev.com> Message-ID: <1446903997-1864-15-git-send-email-jteki@openedev.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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. Cc: Bin Meng Cc: Troy Kisky Signed-off-by: Jagan Teki --- drivers/mtd/spi/sf_probe.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/drivers/mtd/spi/sf_probe.c b/drivers/mtd/spi/sf_probe.c index ea24fa0..603c6bc 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_parent_priv(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); @@ -143,14 +140,23 @@ int spi_flash_std_probe(struct udevice *dev) ret = spi_flash_scan(flash); 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; } -- 1.9.1