qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-ppc] [Qemu-devel] [PATCHv2 01/11] macio: embed DBDMA device di


From: Philippe Mathieu-Daudé
Subject: Re: [Qemu-ppc] [Qemu-devel] [PATCHv2 01/11] macio: embed DBDMA device directly within macio
Date: Tue, 20 Feb 2018 15:53:10 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0

On 02/20/2018 03:41 PM, Mark Cave-Ayland wrote:
> The current recommendation is to embed subdevices directly within their 
> container
> device, so do this for the DBDMA device.
> 
> Signed-off-by: Mark Cave-Ayland <address@hidden>

Reviewed-by: Philippe Mathieu-Daudé <address@hidden>

> ---
>  hw/misc/macio/macio.c | 13 +++++++------
>  1 file changed, 7 insertions(+), 6 deletions(-)
> 
> diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c
> index 024f8557ab..7174135c8b 100644
> --- a/hw/misc/macio/macio.c
> +++ b/hw/misc/macio/macio.c
> @@ -42,7 +42,7 @@ typedef struct MacIOState
>  
>      MemoryRegion bar;
>      CUDAState cuda;
> -    DBDMAState *dbdma;
> +    DBDMAState dbdma;
>      MemoryRegion *pic_mem;
>      MemoryRegion *escc_mem;
>      uint64_t frequency;
> @@ -129,12 +129,12 @@ static void macio_common_realize(PCIDevice *d, Error 
> **errp)
>      SysBusDevice *sysbus_dev;
>      Error *err = NULL;
>  
> -    object_property_set_bool(OBJECT(s->dbdma), true, "realized", &err);
> +    object_property_set_bool(OBJECT(&s->dbdma), true, "realized", &err);
>      if (err) {
>          error_propagate(errp, err);
>          return;
>      }
> -    sysbus_dev = SYS_BUS_DEVICE(s->dbdma);
> +    sysbus_dev = SYS_BUS_DEVICE(&s->dbdma);
>      memory_region_add_subregion(&s->bar, 0x08000,
>                                  sysbus_mmio_get_region(sysbus_dev, 0));
>  
> @@ -161,7 +161,7 @@ static void macio_realize_ide(MacIOState *s, 
> MACIOIDEState *ide,
>      sysbus_connect_irq(sysbus_dev, 0, irq0);
>      sysbus_connect_irq(sysbus_dev, 1, irq1);
>      qdev_prop_set_uint32(DEVICE(ide), "channel", dmaid);
> -    object_property_set_link(OBJECT(ide), OBJECT(s->dbdma), "dbdma", errp);
> +    object_property_set_link(OBJECT(ide), OBJECT(&s->dbdma), "dbdma", errp);
>      macio_ide_register_dma(ide);
>  
>      object_property_set_bool(OBJECT(ide), true, "realized", errp);
> @@ -344,8 +344,9 @@ static void macio_instance_init(Object *obj)
>      qdev_set_parent_bus(DEVICE(&s->cuda), sysbus_get_default());
>      object_property_add_child(obj, "cuda", OBJECT(&s->cuda), NULL);
>  
> -    s->dbdma = MAC_DBDMA(object_new(TYPE_MAC_DBDMA));
> -    object_property_add_child(obj, "dbdma", OBJECT(s->dbdma), NULL);
> +    object_initialize(&s->dbdma, sizeof(s->dbdma), TYPE_MAC_DBDMA);
> +    qdev_set_parent_bus(DEVICE(&s->dbdma), sysbus_get_default());
> +    object_property_add_child(obj, "dbdma", OBJECT(&s->dbdma), NULL);
>  }
>  
>  static const VMStateDescription vmstate_macio_oldworld = {
> 



reply via email to

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