summary refs log tree commit diff stats
path: root/hw/sparc32_dma.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/sparc32_dma.c')
-rw-r--r--hw/sparc32_dma.c22
1 files changed, 1 insertions, 21 deletions
diff --git a/hw/sparc32_dma.c b/hw/sparc32_dma.c
index 7633905af8..800d5bcfd4 100644
--- a/hw/sparc32_dma.c
+++ b/hw/sparc32_dma.c
@@ -244,27 +244,6 @@ static int dma_load(QEMUFile *f, void *opaque, int version_id)
     return 0;
 }
 
-void *sparc32_dma_init(target_phys_addr_t daddr, qemu_irq parent_irq,
-                       void *iommu, qemu_irq *dev_irq, qemu_irq **reset)
-{
-    DeviceState *dev;
-    SysBusDevice *s;
-    DMAState *d;
-
-    dev = qdev_create(NULL, "sparc32_dma");
-    qdev_prop_set_ptr(dev, "iommu_opaque", iommu);
-    qdev_init(dev);
-    s = sysbus_from_qdev(dev);
-    sysbus_connect_irq(s, 0, parent_irq);
-    *dev_irq = qdev_get_gpio_in(dev, 0);
-    sysbus_mmio_map(s, 0, daddr);
-
-    d = FROM_SYSBUS(DMAState, s);
-    *reset = &d->dev_reset;
-
-    return d;
-}
-
 static void sparc32_dma_init1(SysBusDevice *dev)
 {
     DMAState *s = FROM_SYSBUS(DMAState, dev);
@@ -279,6 +258,7 @@ static void sparc32_dma_init1(SysBusDevice *dev)
     qemu_register_reset(dma_reset, s);
 
     qdev_init_gpio_in(&dev->qdev, dma_set_irq, 1);
+    qdev_init_gpio_out(&dev->qdev, &s->dev_reset, 1);
 }
 
 static SysBusDeviceInfo sparc32_dma_info = {