
Hello Jagan,
Am 12.10.2015 um 21:54 schrieb Jagan Teki:
This patch adds MTD support to non-dm spi_flash interface code.
Signed-off-by: Jagan Teki jteki@openedev.com
drivers/mtd/spi/sf_probe.c | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-)
Reviewed-by: Heiko Schocher hs@denx.de
bye, Heiko
diff --git a/drivers/mtd/spi/sf_probe.c b/drivers/mtd/spi/sf_probe.c index 5e314e2..60abaf2 100644 --- a/drivers/mtd/spi/sf_probe.c +++ b/drivers/mtd/spi/sf_probe.c @@ -26,17 +26,24 @@ struct spi_flash_priv { #ifndef CONFIG_DM_SPI_FLASH struct spi_flash *spi_flash_probe_tail(struct spi_slave *bus) {
- struct spi_flash_priv *priv; struct spi_flash *flash; int ret;
- /* Allocate space if needed (not used by sf-uclass */
- flash = calloc(1, sizeof(*flash));
- if (!flash) {
debug("SF: Failed to allocate spi_flash\n");
/* Allocate space if needed (not used by sf-uclass) */
priv = calloc(1, sizeof(*priv));
if (!priv) {
debug("SF: Failed to allocate spi_flash_priv\n");
return NULL; }
flash = &priv->flash;
flash->mtd = &priv->mtd;
flash->spi = bus;
flash->priv = priv;
priv->mtd.priv = flash;
/* Claim spi bus */ ret = spi_claim_bus(bus);
@@ -49,19 +56,16 @@ struct spi_flash *spi_flash_probe_tail(struct spi_slave *bus) if (ret) goto err_scan;
-#ifdef CONFIG_SPI_FLASH_MTD
- ret = spi_flash_mtd_register(flash);
- ret = add_mtd_device(&priv->mtd); if (ret) { printf("SF: failed to register mtd device: %d\n", ret); goto err_mtd; }
-#endif
- return flash;
-#ifdef CONFIG_SPI_FLASH_MTD err_mtd: spi_free_slave(bus); -#endif err_scan: spi_release_bus(bus); err_claim: @@ -95,9 +99,7 @@ struct spi_flash *spi_flash_probe_fdt(const void *blob, int slave_node,
void spi_flash_free(struct spi_flash *flash) { -#ifdef CONFIG_SPI_FLASH_MTD
- spi_flash_mtd_unregister();
-#endif
- del_mtd_device(flash->mtd); spi_free_slave(flash->spi); free(flash); }