You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openwrt/target/linux/brcm47xx/patches-2.6.34/015-MIPS-BCM47xx-nvram_gete...

48 lines
1.4 KiB
Diff

From ff7295cc37b1e4b31aed9f071374f43aa128329b Mon Sep 17 00:00:00 2001
From: Hauke Mehrtens <hauke@hauke-m.de>
Date: Fri, 30 Jul 2010 17:45:20 +0200
Subject: [PATCH 5/6] MIPS: BCM47xx: nvram_getenv fix return value.
nvram_getenv should behave like cfe_getenv. For now it is used like
cfe_getenv. cfe_getenv returns 0 on success and -1 in case of an error.
Change nvram_getenv to do the same.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
arch/mips/bcm47xx/nvram.c | 4 ++--
arch/mips/include/asm/mach-bcm47xx/nvram.h | 3 +++
2 files changed, 5 insertions(+), 2 deletions(-)
--- a/arch/mips/bcm47xx/nvram.c
+++ b/arch/mips/bcm47xx/nvram.c
@@ -69,7 +69,7 @@ int nvram_getenv(char *name, char *val,
char *var, *value, *end, *eq;
if (!name)
- return 1;
+ return NVRAM_ERR_INV_PARAM;
if (!nvram_buf[0])
early_nvram_init();
@@ -89,6 +89,6 @@ int nvram_getenv(char *name, char *val,
return 0;
}
}
- return 1;
+ return NVRAM_ERR_ENVNOTFOUND;
}
EXPORT_SYMBOL(nvram_getenv);
--- a/arch/mips/include/asm/mach-bcm47xx/nvram.h
+++ b/arch/mips/include/asm/mach-bcm47xx/nvram.h
@@ -31,6 +31,10 @@ struct nvram_header {
#define NVRAM_MAX_VALUE_LEN 255
#define NVRAM_MAX_PARAM_LEN 64
+// TODO: replace by old values. This chaueses that the system will not try to look into the cfe.
+#define NVRAM_ERR_INV_PARAM 1 // -8
+#define NVRAM_ERR_ENVNOTFOUND 1 // -9
+
extern int nvram_getenv(char *name, char *val, size_t val_len);
#endif