env_sf need to free the flash while read error, so add the flash probe code in spi-nor-probe.c
Cc: Simon Glass <s...@chromium.org> Cc: Bin Meng <bmeng...@gmail.com> Cc: Mugunthan V N <mugunthan...@ti.com> Cc: Michal Simek <michal.si...@xilinx.com> Cc: Siva Durga Prasad Paladugu <siva...@xilinx.com> Signed-off-by: Jagan Teki <jt...@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 713968b..76c48b7 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(s...@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 0350767..5895d8b 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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot