]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - common/env_sf.c
sandbox: Add a simple sound driver
[karo-tx-uboot.git] / common / env_sf.c
index 592b87088eeeab7974d83eef18fab50d43c02e6b..be270f21bcf6577ae44bd1d394817c5eb609fb01 100644 (file)
@@ -7,23 +7,7 @@
  *
  * (C) Copyright 2008 Atmel Corporation
  *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.         See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
+ * SPDX-License-Identifier:    GPL-2.0+
  */
 #include <common.h>
 #include <environment.h>
@@ -59,11 +43,6 @@ char *env_name_spec = "SPI Flash";
 
 static struct spi_flash *env_flash;
 
-uchar env_get_char_spec(int index)
-{
-       return *((uchar *)(gd->env_addr + index));
-}
-
 #if defined(CONFIG_ENV_OFFSET_REDUND)
 int saveenv(void)
 {
@@ -84,7 +63,7 @@ int saveenv(void)
        }
 
        res = (char *)&env_new.data;
-       len = hexport_r(&env_htab, '\0', &res, ENV_SIZE, 0, NULL);
+       len = hexport_r(&env_htab, '\0', 0, &res, ENV_SIZE, 0, NULL);
        if (len < 0) {
                error("Cannot export environment: errno = %d\n", errno);
                return 1;
@@ -282,7 +261,7 @@ int saveenv(void)
        }
 
        res = (char *)&env_new.data;
-       len = hexport_r(&env_htab, '\0', &res, ENV_SIZE, 0, NULL);
+       len = hexport_r(&env_htab, '\0', 0, &res, ENV_SIZE, 0, NULL);
        if (len < 0) {
                error("Cannot export environment: errno = %d\n", errno);
                goto done;
@@ -320,13 +299,16 @@ int saveenv(void)
 
 void env_relocate_spec(void)
 {
-       char buf[CONFIG_ENV_SIZE];
        int ret;
+       char *buf = NULL;
 
+       buf = (char *)malloc(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");
+               if (buf)
+                       free(buf);
                return;
        }
 
@@ -342,6 +324,8 @@ void env_relocate_spec(void)
                gd->env_valid = 1;
 out:
        spi_flash_free(env_flash);
+       if (buf)
+               free(buf);
        env_flash = NULL;
 }
 #endif