diff options
Diffstat (limited to 'arch/mips/bcm47xx/sprom.c')
| -rw-r--r-- | arch/mips/bcm47xx/sprom.c | 26 | 
1 files changed, 12 insertions, 14 deletions
diff --git a/arch/mips/bcm47xx/sprom.c b/arch/mips/bcm47xx/sprom.c index 289cc0a3863..ad03c931b90 100644 --- a/arch/mips/bcm47xx/sprom.c +++ b/arch/mips/bcm47xx/sprom.c @@ -27,7 +27,7 @@   */  #include <bcm47xx.h> -#include <nvram.h> +#include <bcm47xx_nvram.h>  static void create_key(const char *prefix, const char *postfix,  		       const char *name, char *buf, int len) @@ -50,18 +50,18 @@ static int get_nvram_var(const char *prefix, const char *postfix,  	create_key(prefix, postfix, name, key, sizeof(key)); -	err = nvram_getenv(key, buf, len); -	if (fallback && err == NVRAM_ERR_ENVNOTFOUND && prefix) { +	err = bcm47xx_nvram_getenv(key, buf, len); +	if (fallback && err == -ENOENT && prefix) {  		create_key(NULL, postfix, name, key, sizeof(key)); -		err = nvram_getenv(key, buf, len); +		err = bcm47xx_nvram_getenv(key, buf, len);  	}  	return err;  }  #define NVRAM_READ_VAL(type)						\  static void nvram_read_ ## type (const char *prefix,			\ -				 const char *postfix, const char *name,	\ -				 type *val, type allset, bool fallback)	\ +				 const char *postfix, const char *name, \ +				 type *val, type allset, bool fallback) \  {									\  	char buf[100];							\  	int err;							\ @@ -71,7 +71,7 @@ static void nvram_read_ ## type (const char *prefix,			\  			    fallback);					\  	if (err < 0)							\  		return;							\ -	err = kstrto ## type (buf, 0, &var);				\ +	err = kstrto ## type(strim(buf), 0, &var);			\  	if (err) {							\  		pr_warn("can not parse nvram name %s%s%s with value %s got %i\n",	\  			prefix, name, postfix, buf, err);		\ @@ -99,7 +99,7 @@ static void nvram_read_u32_2(const char *prefix, const char *name,  	err = get_nvram_var(prefix, NULL, name, buf, sizeof(buf), fallback);  	if (err < 0)  		return; -	err = kstrtou32(buf, 0, &val); +	err = kstrtou32(strim(buf), 0, &val);  	if (err) {  		pr_warn("can not parse nvram name %s%s with value %s got %i\n",  			prefix, name, buf, err); @@ -120,7 +120,7 @@ static void nvram_read_leddc(const char *prefix, const char *name,  	err = get_nvram_var(prefix, NULL, name, buf, sizeof(buf), fallback);  	if (err < 0)  		return; -	err = kstrtou32(buf, 0, &val); +	err = kstrtou32(strim(buf), 0, &val);  	if (err) {  		pr_warn("can not parse nvram name %s%s with value %s got %i\n",  			prefix, name, buf, err); @@ -144,7 +144,7 @@ static void nvram_read_macaddr(const char *prefix, const char *name,  	if (err < 0)  		return; -	nvram_parse_macaddr(buf, *val); +	bcm47xx_nvram_parse_macaddr(buf, *val);  }  static void nvram_read_alpha2(const char *prefix, const char *name, @@ -652,12 +652,10 @@ static void bcm47xx_fill_sprom_ethernet(struct ssb_sprom *sprom,  static void bcm47xx_fill_board_data(struct ssb_sprom *sprom, const char *prefix,  				    bool fallback)  { -	nvram_read_u16(prefix, NULL, "boardrev", &sprom->board_rev, 0, -		       fallback); +	nvram_read_u16(prefix, NULL, "boardrev", &sprom->board_rev, 0, true);  	nvram_read_u16(prefix, NULL, "boardnum", &sprom->board_num, 0,  		       fallback); -	nvram_read_u16(prefix, NULL, "boardtype", &sprom->board_type, 0, -		       fallback); +	nvram_read_u16(prefix, NULL, "boardtype", &sprom->board_type, 0, true);  	nvram_read_u32_2(prefix, "boardflags", &sprom->boardflags_lo,  			 &sprom->boardflags_hi, fallback);  	nvram_read_u32_2(prefix, "boardflags2", &sprom->boardflags2_lo,  |