enf_sf: reuse setup_flash_device instead of open coding it
authorAndreas Fenkart <afenkart@gmail.com>
Sat, 8 Apr 2017 09:59:32 +0000 (11:59 +0200)
committerJagan Teki <jagan@openedev.com>
Wed, 3 May 2017 05:47:54 +0000 (11:17 +0530)
setup_flash_device selects one of two code paths depending on the driver
model being used (=CONFIG_DM_SPI_FLASH). env_relocate_spec only used
the non driver-model code path. I'm unsure why, either none of the
platforms that need relocation use the driver model, or - worse - the
driver model is not yet usable when relocating.

Signed-off-by: Andreas Fenkart <afenkart@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jagan Teki <jagan@openedev.com>
Tested-by: Jagan Teki <jagan@openedev.com>
common/env_sf.c

index 8af590a..a52fb73 100644 (file)
@@ -176,12 +176,9 @@ void env_relocate_spec(void)
                goto out;
        }
 
-       env_flash = spi_flash_probe(CONFIG_ENV_SPI_BUS, CONFIG_ENV_SPI_CS,
-                       CONFIG_ENV_SPI_MAX_HZ, CONFIG_ENV_SPI_MODE);
-       if (!env_flash) {
-               set_default_env("!spi_flash_probe() failed");
+       ret = setup_flash_device();
+       if (ret)
                goto out;
-       }
 
        ret = spi_flash_read(env_flash, CONFIG_ENV_OFFSET,
                                CONFIG_ENV_SIZE, tmp_env1);
@@ -316,10 +313,9 @@ void env_relocate_spec(void)
        char *buf = NULL;
 
        buf = (char *)memalign(ARCH_DMA_MINALIGN, CONFIG_ENV_SIZE);
-       env_flash = spi_flash_probe(CONFIG_ENV_SPI_BUS, CONFIG_ENV_SPI_CS,
-                       CONFIG_ENV_SPI_MAX_HZ, CONFIG_ENV_SPI_MODE);
-       if (!env_flash) {
-               set_default_env("!spi_flash_probe() failed");
+
+       ret = setup_flash_device();
+       if (ret) {
                if (buf)
                        free(buf);
                return;