[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 6/8] hw/arm/aspeed: Describe each PCA9552 device
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH v4 6/8] hw/arm/aspeed: Describe each PCA9552 device |
Date: |
Mon, 22 Jun 2020 10:35:18 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 |
+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é <f4bug@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 */
>> }
>>
>>
>
>
- Re: [PATCH v4 3/8] hw/misc/pca9552: Use the PCA9552_PIN_COUNT definition, (continued)
[PATCH v4 4/8] hw/misc/pca9552: Add a 'description' property for debugging purpose, Philippe Mathieu-Daudé, 2020/06/20
[PATCH v4 5/8] hw/misc/pca9552: Trace GPIO High/Low events, Philippe Mathieu-Daudé, 2020/06/20
[PATCH v4 6/8] hw/arm/aspeed: Describe each PCA9552 device, Philippe Mathieu-Daudé, 2020/06/20
[PATCH v4 7/8] hw/misc/pca9552: Trace GPIO change events, Philippe Mathieu-Daudé, 2020/06/20
[PATCH v4 8/8] hw/misc/pca9552: Model qdev output GPIOs, Philippe Mathieu-Daudé, 2020/06/20