sparc32-espdma: use object_initialize_child() for esp child object
Store the child object directly within the sparc32-espdma object rather than using link properties. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20200926140216.7368-4-mark.cave-ayland@ilande.co.uk> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
This commit is contained in:
parent
bce83ed998
commit
d19265eaf5
@ -290,27 +290,26 @@ static const TypeInfo sparc32_dma_device_info = {
|
||||
static void sparc32_espdma_device_init(Object *obj)
|
||||
{
|
||||
DMADeviceState *s = SPARC32_DMA_DEVICE(obj);
|
||||
ESPDMADeviceState *es = SPARC32_ESPDMA_DEVICE(obj);
|
||||
|
||||
memory_region_init_io(&s->iomem, OBJECT(s), &dma_mem_ops, s,
|
||||
"espdma-mmio", DMA_SIZE);
|
||||
|
||||
object_initialize_child(obj, "esp", &es->esp, TYPE_ESP);
|
||||
}
|
||||
|
||||
static void sparc32_espdma_device_realize(DeviceState *dev, Error **errp)
|
||||
{
|
||||
DeviceState *d;
|
||||
SysBusESPState *sysbus;
|
||||
ESPState *esp;
|
||||
ESPDMADeviceState *es = SPARC32_ESPDMA_DEVICE(dev);
|
||||
SysBusESPState *sysbus = ESP(&es->esp);
|
||||
ESPState *esp = &sysbus->esp;
|
||||
|
||||
d = qdev_new(TYPE_ESP);
|
||||
object_property_add_child(OBJECT(dev), "esp", OBJECT(d));
|
||||
sysbus = ESP(d);
|
||||
esp = &sysbus->esp;
|
||||
esp->dma_memory_read = espdma_memory_read;
|
||||
esp->dma_memory_write = espdma_memory_write;
|
||||
esp->dma_opaque = SPARC32_DMA_DEVICE(dev);
|
||||
sysbus->it_shift = 2;
|
||||
esp->dma_enabled = 1;
|
||||
sysbus_realize_and_unref(SYS_BUS_DEVICE(d), &error_fatal);
|
||||
sysbus_realize(SYS_BUS_DEVICE(sysbus), &error_fatal);
|
||||
}
|
||||
|
||||
static void sparc32_espdma_device_class_init(ObjectClass *klass, void *data)
|
||||
|
@ -28,7 +28,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(ESPDMADeviceState, SPARC32_ESPDMA_DEVICE)
|
||||
struct ESPDMADeviceState {
|
||||
DMADeviceState parent_obj;
|
||||
|
||||
SysBusESPState *esp;
|
||||
SysBusESPState esp;
|
||||
};
|
||||
|
||||
#define TYPE_SPARC32_LEDMA_DEVICE "sparc32-ledma"
|
||||
|
Loading…
Reference in New Issue
Block a user