mirror of https://github.com/xemu-project/xemu.git
i2c:smbus_eeprom: Add a size constant for the smbus_eeprom size
It was hard-coded to 256 in a number of places, create a constant for that. Signed-off-by: Corey Minyard <cminyard@mvista.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
This commit is contained in:
parent
b398a92440
commit
0cf487e5bd
|
@ -37,6 +37,8 @@
|
|||
#define SMBUS_EEPROM(obj) \
|
||||
OBJECT_CHECK(SMBusEEPROMDevice, (obj), TYPE_SMBUS_EEPROM)
|
||||
|
||||
#define SMBUS_EEPROM_SIZE 256
|
||||
|
||||
typedef struct SMBusEEPROMDevice {
|
||||
SMBusDevice smbusdev;
|
||||
void *data;
|
||||
|
@ -72,7 +74,7 @@ static int eeprom_write_data(SMBusDevice *dev, uint8_t *buf, uint8_t len)
|
|||
|
||||
for (; len > 0; len--) {
|
||||
data[eeprom->offset] = *buf++;
|
||||
eeprom->offset = (eeprom->offset + 1) % 256;
|
||||
eeprom->offset = (eeprom->offset + 1) % SMBUS_EEPROM_SIZE;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -131,13 +133,15 @@ void smbus_eeprom_init(I2CBus *smbus, int nb_eeprom,
|
|||
const uint8_t *eeprom_spd, int eeprom_spd_size)
|
||||
{
|
||||
int i;
|
||||
uint8_t *eeprom_buf = g_malloc0(8 * 256); /* XXX: make this persistent */
|
||||
/* XXX: make this persistent */
|
||||
uint8_t *eeprom_buf = g_malloc0(8 * SMBUS_EEPROM_SIZE);
|
||||
if (eeprom_spd_size > 0) {
|
||||
memcpy(eeprom_buf, eeprom_spd, eeprom_spd_size);
|
||||
}
|
||||
|
||||
for (i = 0; i < nb_eeprom; i++) {
|
||||
smbus_eeprom_init_one(smbus, 0x50 + i, eeprom_buf + (i * 256));
|
||||
smbus_eeprom_init_one(smbus, 0x50 + i,
|
||||
eeprom_buf + (i * SMBUS_EEPROM_SIZE));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue