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