diff options
Diffstat (limited to 'common/env_eeprom.c')
| -rw-r--r-- | common/env_eeprom.c | 26 | 
1 files changed, 7 insertions, 19 deletions
| diff --git a/common/env_eeprom.c b/common/env_eeprom.c index f5882bcfc..149370f83 100644 --- a/common/env_eeprom.c +++ b/common/env_eeprom.c @@ -33,24 +33,8 @@ static int eeprom_bus_read(unsigned dev_addr, unsigned offset,  #if defined(CONFIG_I2C_ENV_EEPROM_BUS)  	int old_bus = i2c_get_bus_num(); -	if (gd->flags & GD_FLG_RELOC) { -		if (env_eeprom_bus == -1) { -			I2C_MUX_DEVICE *dev = NULL; -			dev = i2c_mux_ident_muxstring( -				(uchar *)CONFIG_I2C_ENV_EEPROM_BUS); -			if (dev != NULL) -				env_eeprom_bus = dev->busid; -			else -				printf("error adding env eeprom bus.\n"); -		} -		if (old_bus != env_eeprom_bus) { -			i2c_set_bus_num(env_eeprom_bus); -			old_bus = env_eeprom_bus; -		} -	} else { -		rcode = i2c_mux_ident_muxstring_f( -				(uchar *)CONFIG_I2C_ENV_EEPROM_BUS); -	} +	if (old_bus != CONFIG_I2C_ENV_EEPROM_BUS) +		i2c_set_bus_num(CONFIG_I2C_ENV_EEPROM_BUS);  #endif  	rcode = eeprom_read(dev_addr, offset, buffer, cnt); @@ -59,6 +43,7 @@ static int eeprom_bus_read(unsigned dev_addr, unsigned offset,  	if (old_bus != env_eeprom_bus)  		i2c_set_bus_num(old_bus);  #endif +  	return rcode;  } @@ -69,9 +54,12 @@ static int eeprom_bus_write(unsigned dev_addr, unsigned offset,  #if defined(CONFIG_I2C_ENV_EEPROM_BUS)  	int old_bus = i2c_get_bus_num(); -	rcode = i2c_mux_ident_muxstring_f((uchar *)CONFIG_I2C_ENV_EEPROM_BUS); +	if (old_bus != CONFIG_I2C_ENV_EEPROM_BUS) +		i2c_set_bus_num(CONFIG_I2C_ENV_EEPROM_BUS);  #endif +  	rcode = eeprom_write(dev_addr, offset, buffer, cnt); +  #if defined(CONFIG_I2C_ENV_EEPROM_BUS)  	i2c_set_bus_num(old_bus);  #endif |