[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/6] hw/nvram/eeprom_at24c: Add header w/ init helper
From: |
Peter Delevoryas |
Subject: |
Re: [PATCH 1/6] hw/nvram/eeprom_at24c: Add header w/ init helper |
Date: |
Mon, 16 Jan 2023 09:21:21 -0800 |
On Mon, Jan 16, 2023 at 01:23:01PM +0100, Philippe Mathieu-Daudé wrote:
> On 14/1/23 18:01, Peter Delevoryas wrote:
> > Signed-off-by: Peter Delevoryas <peter@pjd.dev>
> > ---
> > hw/nvram/eeprom_at24c.c | 10 ++++++++++
> > include/hw/nvram/eeprom_at24c.h | 10 ++++++++++
> > 2 files changed, 20 insertions(+)
> > create mode 100644 include/hw/nvram/eeprom_at24c.h
>
> > +void at24c_eeprom_init(I2CBus *bus, uint8_t address, uint32_t rom_size)
> > +{
> > + I2CSlave *i2c_dev = i2c_slave_new("at24c-eeprom", address);
>
> Please use the type definition: TYPE_AT24C_EE.
>
> > + DeviceState *dev = DEVICE(i2c_dev);
> > +
> > + qdev_prop_set_uint32(dev, "rom-size", rom_size);
> > + i2c_slave_realize_and_unref(i2c_dev, bus, &error_abort);
>
> Although the allocated object is somehow reachable from the i2c bus
> object, it would be simpler to deallocate allowing the parent to keep
> a reference to it. So consider this prototype instead:
>
> I2CSlave *at24c_eeprom_create(I2CBus *bus, uint8_t address,
> uint32_t rom_size);
>
Oh ok, yeah that sounds good. In this case, if I let the parent keep a
reference, maybe I shouldn't use i2c_slave_realize_and_unref, and just use
qdev_realize/etc (to avoid the unref?). I'll try just returning the pointer
from the function to start with though.
> > +}
- [PATCH 2/6] hw/arm/aspeed: Remove local copy of at24c_eeprom_init, (continued)
- [PATCH 2/6] hw/arm/aspeed: Remove local copy of at24c_eeprom_init, Peter Delevoryas, 2023/01/14
- [PATCH 3/6] hw/arm/aspeed: Replace aspeed_eeprom_init with at24c_eeprom_init, Peter Delevoryas, 2023/01/14
- [PATCH 1/6] hw/nvram/eeprom_at24c: Add header w/ init helper, Peter Delevoryas, 2023/01/14
- [PATCH 4/6] hw/arm/npcm7xx: Remove local copy of at24c_eeprom_init, Peter Delevoryas, 2023/01/14
- [PATCH 5/6] hw/nvram/eeprom_at24c: Add I2C write helper, Peter Delevoryas, 2023/01/14
- [PATCH 6/6] hw/arm/aspeed: Init fby35 BMC FRUID EEPROM, Peter Delevoryas, 2023/01/14
- Re: [PATCH 6/6] hw/arm/aspeed: Init fby35 BMC FRUID EEPROM, Cédric Le Goater, 2023/01/16