+Markus On 6/22/20 8:49 AM, Cédric Le Goater wrote: > On 6/21/20 12:58 AM, Philippe Mathieu-Daudé wrote: >> We have 2 distinct PCA9552 devices. Set their description >> to distinguish them when looking at the trace events. > > It's nice and usefull but couldn't we do the same with a QOM object name ?
qdev inherits QOM and overloads it with the qdev_ API. Since we have a qdev object, isn't it better to use the qdev_ API? I'd keep the QOM API for bare QOM objects.(I find confusing to use different APIs). > > C. > >> >> Description name taken from: >> https://github.com/open-power/witherspoon-xml/blob/master/witherspoon.xml >> >> Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> >> --- >> hw/arm/aspeed.c | 13 +++++++++---- >> 1 file changed, 9 insertions(+), 4 deletions(-) >> >> diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c >> index 6b7533aeee..3d5dec4692 100644 >> --- a/hw/arm/aspeed.c >> +++ b/hw/arm/aspeed.c >> @@ -508,12 +508,15 @@ static void witherspoon_bmc_i2c_init(AspeedBoardState >> *bmc) >> { >> AspeedSoCState *soc = &bmc->soc; >> uint8_t *eeprom_buf = g_malloc0(8 * 1024); >> + DeviceState *dev; >> >> /* Bus 3: TODO bmp280@77 */ >> /* Bus 3: TODO max31785@52 */ >> /* Bus 3: TODO dps310@76 */ >> - i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 3), TYPE_PCA9552, >> - 0x60); >> + dev = i2c_try_create_slave(TYPE_PCA9552, 0x60); >> + qdev_prop_set_string(dev, "description", "pca1"); >> + i2c_realize_and_unref(dev, aspeed_i2c_get_bus(DEVICE(&soc->i2c), 3), >> + &error_fatal); >> >> i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 4), "tmp423", >> 0x4c); >> i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 5), "tmp423", >> 0x4c); >> @@ -528,8 +531,10 @@ static void witherspoon_bmc_i2c_init(AspeedBoardState >> *bmc) >> >> smbus_eeprom_init_one(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 11), 0x51, >> eeprom_buf); >> - i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 11), >> TYPE_PCA9552, >> - 0x60); >> + dev = i2c_try_create_slave(TYPE_PCA9552, 0x60); >> + qdev_prop_set_string(dev, "description", "pca0"); >> + i2c_realize_and_unref(dev, aspeed_i2c_get_bus(DEVICE(&soc->i2c), 11), >> + &error_fatal); >> /* Bus 11: TODO ucd90160@64 */ >> } >> >> > >