[U-Boot] [PATCH v6 11/76] mtd: spi-nor: Add spi_flash_free for mtd-dm-spi-nor

Jagan Teki jteki at openedev.com
Sun Feb 14 21:48:10 CET 2016


env_sf need to free the flash while read error, so
add the flash probe code in spi-nor-probe.c

Cc: Simon Glass <sjg at chromium.org>
Cc: Bin Meng <bmeng.cn at gmail.com>
Cc: Mugunthan V N <mugunthanvnm at ti.com>
Cc: Michal Simek <michal.simek at xilinx.com>
Cc: Siva Durga Prasad Paladugu <sivadur at xilinx.com>
Signed-off-by: Jagan Teki <jteki at openedev.com>
---
 drivers/mtd/spi-nor/spi-nor-probe.c | 7 +++++++
 include/spi_flash.h                 | 3 +++
 2 files changed, 10 insertions(+)

diff --git a/drivers/mtd/spi-nor/spi-nor-probe.c b/drivers/mtd/spi-nor/spi-nor-probe.c
index 9bc61ea..ccc3b6c 100644
--- a/drivers/mtd/spi-nor/spi-nor-probe.c
+++ b/drivers/mtd/spi-nor/spi-nor-probe.c
@@ -9,6 +9,8 @@
 #include <spi.h>
 #include <spi_flash.h>
 
+#include <dm/device-internal.h>
+
 /*
  * TODO(sjg at chromium.org): This is an old-style function. We should remove
  * it when all SPI flash drivers use dm
@@ -24,6 +26,11 @@ spi_flash_t *spi_flash_probe(unsigned int bus, unsigned int cs,
 	return dev_get_uclass_priv(dev);
 }
 
+void spi_flash_free(spi_flash_t *flash)
+{
+	device_remove(flash->dev);
+}
+
 int spi_flash_probe_bus_cs(unsigned int busnum, unsigned int cs,
 			   unsigned int max_hz, unsigned int spi_mode,
 			   struct udevice **devp)
diff --git a/include/spi_flash.h b/include/spi_flash.h
index 45fda7a..e76ea11 100644
--- a/include/spi_flash.h
+++ b/include/spi_flash.h
@@ -120,6 +120,9 @@ int spi_flash_probe_bus_cs(unsigned int busnum, unsigned int cs,
 spi_flash_t *spi_flash_probe(unsigned int bus, unsigned int cs,
 			     unsigned int max_hz, unsigned int spi_mode);
 
+/* Compatibility function - this is the old U-Boot API */
+void spi_flash_free(spi_flash_t *flash);
+
 #endif
 
 struct dm_spi_flash_ops {
-- 
1.9.1



More information about the U-Boot mailing list