env_sf: factor out prepare_flash_device
copy&paste code found in single/double buffered code path 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>
This commit is contained in:
parent
ac6991fb5f
commit
afa81a7750
@ -45,15 +45,11 @@ char *env_name_spec = "SPI Flash";
|
||||
|
||||
static struct spi_flash *env_flash;
|
||||
|
||||
#if defined(CONFIG_ENV_OFFSET_REDUND)
|
||||
int saveenv(void)
|
||||
static int setup_flash_device(void)
|
||||
{
|
||||
env_t env_new;
|
||||
char *saved_buffer = NULL, flag = OBSOLETE_FLAG;
|
||||
u32 saved_size, saved_offset, sector = 1;
|
||||
int ret;
|
||||
#ifdef CONFIG_DM_SPI_FLASH
|
||||
struct udevice *new;
|
||||
int ret;
|
||||
|
||||
/* speed and mode will be read from DT */
|
||||
ret = spi_flash_probe_bus_cs(CONFIG_ENV_SPI_BUS, CONFIG_ENV_SPI_CS,
|
||||
@ -76,6 +72,20 @@ int saveenv(void)
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_ENV_OFFSET_REDUND)
|
||||
int saveenv(void)
|
||||
{
|
||||
env_t env_new;
|
||||
char *saved_buffer = NULL, flag = OBSOLETE_FLAG;
|
||||
u32 saved_size, saved_offset, sector = 1;
|
||||
int ret;
|
||||
|
||||
ret = setup_flash_device();
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = env_export(&env_new);
|
||||
if (ret)
|
||||
@ -242,30 +252,10 @@ int saveenv(void)
|
||||
char *saved_buffer = NULL;
|
||||
int ret = 1;
|
||||
env_t env_new;
|
||||
#ifdef CONFIG_DM_SPI_FLASH
|
||||
struct udevice *new;
|
||||
|
||||
/* speed and mode will be read from DT */
|
||||
ret = spi_flash_probe_bus_cs(CONFIG_ENV_SPI_BUS, CONFIG_ENV_SPI_CS,
|
||||
0, 0, &new);
|
||||
if (ret) {
|
||||
set_default_env("!spi_flash_probe_bus_cs() failed");
|
||||
return 1;
|
||||
}
|
||||
|
||||
env_flash = dev_get_uclass_priv(new);
|
||||
#else
|
||||
|
||||
if (!env_flash) {
|
||||
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");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
ret = setup_flash_device();
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
/* Is the sector larger than the env (i.e. embedded) */
|
||||
if (CONFIG_ENV_SECT_SIZE > CONFIG_ENV_SIZE) {
|
||||
|
Loading…
Reference in New Issue
Block a user