summary refs log tree commit diff stats
path: root/hw/smbus_eeprom.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/smbus_eeprom.c')
-rw-r--r--hw/smbus_eeprom.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/hw/smbus_eeprom.c b/hw/smbus_eeprom.c
index c071fb1e13..9785cc2f73 100644
--- a/hw/smbus_eeprom.c
+++ b/hw/smbus_eeprom.c
@@ -30,7 +30,7 @@
 
 typedef struct SMBusEEPROMDevice {
     SMBusDevice smbusdev;
-    uint8_t *data;
+    void *data;
     uint8_t offset;
 } SMBusEEPROMDevice;
 
@@ -54,7 +54,8 @@ static void eeprom_send_byte(SMBusDevice *dev, uint8_t val)
 static uint8_t eeprom_receive_byte(SMBusDevice *dev)
 {
     SMBusEEPROMDevice *eeprom = (SMBusEEPROMDevice *) dev;
-    uint8_t val = eeprom->data[eeprom->offset++];
+    uint8_t *data = eeprom->data;
+    uint8_t val = data[eeprom->offset++];
 #ifdef DEBUG
     printf("eeprom_receive_byte: addr=0x%02x val=0x%02x\n",
            dev->i2c.address, val);
@@ -106,12 +107,8 @@ static SMBusDeviceInfo smbus_eeprom_info = {
     .i2c.qdev.name = "smbus-eeprom",
     .i2c.qdev.size = sizeof(SMBusEEPROMDevice),
     .i2c.qdev.props = (Property[]) {
-        {
-            .name   = "data",
-            .info   = &qdev_prop_ptr,
-            .offset = offsetof(SMBusEEPROMDevice, data),
-        },
-        {/* end of list */}
+        DEFINE_PROP_PTR("data", SMBusEEPROMDevice, data),
+        DEFINE_PROP_END_OF_LIST(),
     },
     .init = smbus_eeprom_init,
     .quick_cmd = eeprom_quick_cmd,