On 26/11/18 21:04, miny...@acm.org wrote:
> From: Corey Minyard <cminy...@mvista.com>
> 
> Create a type name and a cast macro and use those through the
> code.
> 
> Signed-off-by: Corey Minyard <cminy...@mvista.com>
> Reviewed-by: Peter Maydell <peter.mayd...@linaro.org>

Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com>

> ---
>  hw/i2c/smbus_eeprom.c | 15 ++++++++++-----
>  1 file changed, 10 insertions(+), 5 deletions(-)
> 
> diff --git a/hw/i2c/smbus_eeprom.c b/hw/i2c/smbus_eeprom.c
> index 4d25222e23..8d4eed129f 100644
> --- a/hw/i2c/smbus_eeprom.c
> +++ b/hw/i2c/smbus_eeprom.c
> @@ -30,6 +30,11 @@
>  
>  //#define DEBUG
>  
> +#define TYPE_SMBUS_EEPROM "smbus-eeprom"
> +
> +#define SMBUS_EEPROM(obj) \
> +    OBJECT_CHECK(SMBusEEPROMDevice, (obj), TYPE_SMBUS_EEPROM)
> +
>  typedef struct SMBusEEPROMDevice {
>      SMBusDevice smbusdev;
>      void *data;
> @@ -38,7 +43,7 @@ typedef struct SMBusEEPROMDevice {
>  
>  static uint8_t eeprom_receive_byte(SMBusDevice *dev)
>  {
> -    SMBusEEPROMDevice *eeprom = (SMBusEEPROMDevice *) dev;
> +    SMBusEEPROMDevice *eeprom = SMBUS_EEPROM(dev);
>      uint8_t *data = eeprom->data;
>      uint8_t val = data[eeprom->offset++];
>  
> @@ -51,7 +56,7 @@ static uint8_t eeprom_receive_byte(SMBusDevice *dev)
>  
>  static int eeprom_write_data(SMBusDevice *dev, uint8_t *buf, uint8_t len)
>  {
> -    SMBusEEPROMDevice *eeprom = (SMBusEEPROMDevice *) dev;
> +    SMBusEEPROMDevice *eeprom = SMBUS_EEPROM(dev);
>      uint8_t *data = eeprom->data;
>  
>  #ifdef DEBUG
> @@ -73,7 +78,7 @@ static int eeprom_write_data(SMBusDevice *dev, uint8_t 
> *buf, uint8_t len)
>  
>  static void smbus_eeprom_realize(DeviceState *dev, Error **errp)
>  {
> -    SMBusEEPROMDevice *eeprom = (SMBusEEPROMDevice *)dev;
> +    SMBusEEPROMDevice *eeprom = SMBUS_EEPROM(dev);
>  
>      eeprom->offset = 0;
>  }
> @@ -97,7 +102,7 @@ static void smbus_eeprom_class_initfn(ObjectClass *klass, 
> void *data)
>  }
>  
>  static const TypeInfo smbus_eeprom_info = {
> -    .name          = "smbus-eeprom",
> +    .name          = TYPE_SMBUS_EEPROM,
>      .parent        = TYPE_SMBUS_DEVICE,
>      .instance_size = sizeof(SMBusEEPROMDevice),
>      .class_init    = smbus_eeprom_class_initfn,
> @@ -114,7 +119,7 @@ void smbus_eeprom_init_one(I2CBus *smbus, uint8_t 
> address, uint8_t *eeprom_buf)
>  {
>      DeviceState *dev;
>  
> -    dev = qdev_create((BusState *) smbus, "smbus-eeprom");
> +    dev = qdev_create((BusState *) smbus, TYPE_SMBUS_EEPROM);
>      qdev_prop_set_uint8(dev, "address", address);
>      qdev_prop_set_ptr(dev, "data", eeprom_buf);
>      qdev_init_nofail(dev);
> 

Reply via email to