Message ID | 20200623072723.6324-8-f4bug@amsat.org |
---|---|
State | New |
Headers | show |
Series | [v6,1/9] hw/i2c/core: Add i2c_try_create_slave() and i2c_realize_and_unref() | expand |
On 6/23/20 9:27 AM, Philippe Mathieu-Daudé wrote: > We have 2 distinct PCA9552 devices. Set their description > to distinguish them when looking at the trace events. > > Description name taken from: > https://github.com/open-power/witherspoon-xml/blob/master/witherspoon.xml > > Reviewed-by: Cédric Le Goater <clg@kaod.org> > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Collecting Markus review on v5: Reviewed-by: Markus Armbruster <armbru@redhat.com> https://lists.gnu.org/archive/html/qemu-devel/2020-06/msg07078.html > --- > Cc: Markus Armbruster <armbru@redhat.com> > Cc: Corey Minyard <cminyard@mvista.com> > --- > 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 ccf127b328..307dba5065 100644 > --- a/hw/arm/aspeed.c > +++ b/hw/arm/aspeed.c > @@ -508,12 +508,15 @@ static void witherspoon_bmc_i2c_init(AspeedMachineState *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(AspeedMachineState *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 */ > } > >
On Tue, Jun 23, 2020 at 09:27:21AM +0200, Philippe Mathieu-Daudé wrote: > We have 2 distinct PCA9552 devices. Set their description > to distinguish them when looking at the trace events. > > Description name taken from: > https://github.com/open-power/witherspoon-xml/blob/master/witherspoon.xml I forgot to respond to this earlier. Reviewed-by: Corey Minyard <cminyard@mvista.com> > > Reviewed-by: Cédric Le Goater <clg@kaod.org> > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > Cc: Markus Armbruster <armbru@redhat.com> > Cc: Corey Minyard <cminyard@mvista.com> > --- > 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 ccf127b328..307dba5065 100644 > --- a/hw/arm/aspeed.c > +++ b/hw/arm/aspeed.c > @@ -508,12 +508,15 @@ static void witherspoon_bmc_i2c_init(AspeedMachineState *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(AspeedMachineState *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 */ > } > > -- > 2.21.3 >
diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c index ccf127b328..307dba5065 100644 --- a/hw/arm/aspeed.c +++ b/hw/arm/aspeed.c @@ -508,12 +508,15 @@ static void witherspoon_bmc_i2c_init(AspeedMachineState *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(AspeedMachineState *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 */ }