On Fri, 26 Jun 2020, Philippe Mathieu-Daudé wrote: > Suggested-by: Markus Armbruster > Signed-off-by: Philippe Mathieu-Daudé > --- > hw/i2c/smbus_eeprom.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/hw/i2c/smbus_eeprom.c b/hw/i2c/smbus_eeprom.c > index 879fd7c416..22ba7b20d4 100644 > --- a/hw/i2c/smbus_eeprom.c > +++ b/hw/i2c/smbus_eeprom.c > @@ -47,6 +47,7 @@ typedef struct SMBusEEPROMDevice { > uint8_t *init_data; > uint8_t offset; > bool accessed; > + char *description; > } SMBusEEPROMDevice; > > static uint8_t eeprom_receive_byte(SMBusDevice *dev) > @@ -134,7 +135,9 @@ static void smbus_eeprom_realize(DeviceState *dev, Error **errp) > smbus_eeprom_reset(dev); > if (eeprom->init_data == NULL) { > error_setg(errp, "init_data cannot be NULL"); > + return; > } > + eeprom->description = object_get_canonical_path_component(OBJECT(dev)); > } > > static void smbus_eeprom_class_initfn(ObjectClass *klass, void *data) What is this for? Shouldn't this description field be in some parent object and whatever wants to print it could use the object_get_canonical_path_component() as default value if it's not set instead of adding more boiler plate to every object? Regards, BALATON Zoltan