Commit 0cf487e5 authored by Corey Minyard's avatar Corey Minyard
Browse files

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: default avatarCorey Minyard <cminyard@mvista.com>
Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
parent b398a924
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -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));
    }
}