env: Adjust the get_char() method to return an int
In principle this can fail, e.g. if the index is out of range. Adjust the
driver signature to allow returning an error code.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
diff --git a/env/dataflash.c b/env/dataflash.c
index 28dcf6f..afa08f8 100644
--- a/env/dataflash.c
+++ b/env/dataflash.c
@@ -14,7 +14,7 @@
DECLARE_GLOBAL_DATA_PTR;
-static unsigned char env_dataflash_get_char(int index)
+static int env_dataflash_get_char(int index)
{
uchar c;
diff --git a/env/eeprom.c b/env/eeprom.c
index 39adcca..fbe4fd4 100644
--- a/env/eeprom.c
+++ b/env/eeprom.c
@@ -61,7 +61,7 @@
return rcode;
}
-static uchar env_eeprom_get_char(int index)
+static int env_eeprom_get_char(int index)
{
uchar c;
unsigned int off = CONFIG_ENV_OFFSET;
diff --git a/env/nvram.c b/env/nvram.c
index ac389ac..85af37d 100644
--- a/env/nvram.c
+++ b/env/nvram.c
@@ -41,7 +41,7 @@
#endif
#ifdef CONFIG_SYS_NVRAM_ACCESS_ROUTINE
-static uchar env_nvram_get_char(int index)
+static int env_nvram_get_char(int index)
{
uchar c;
diff --git a/include/environment.h b/include/environment.h
index 9a44215..ba8af28 100644
--- a/include/environment.h
+++ b/include/environment.h
@@ -227,9 +227,9 @@
* will read from gd->env_addr.
*
* @index: Index of character to read (0=first)
- * @return character read
+ * @return character read, or -ve on error
*/
- unsigned char (*get_char)(int index);
+ int (*get_char)(int index);
/**
* load() - Load the environment from storage