qemu-arm
[Top][All Lists]
Advanced

[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 */
>>  }
>>  
>>
> 
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]