Revision 49ef6c90

b/hw/sparc32_dma.c
214 214
    dma_mem_writel,
215 215
};
216 216

  
217
static void dma_reset(void *opaque)
217
static void dma_reset(DeviceState *d)
218 218
{
219
    DMAState *s = opaque;
219
    DMAState *s = container_of(d, DMAState, busdev.qdev);
220 220

  
221 221
    memset(s->dmaregs, 0, DMA_SIZE);
222 222
    s->dmaregs[0] = DMA_VER;
......
243 243
    dma_io_memory = cpu_register_io_memory(dma_mem_read, dma_mem_write, s);
244 244
    sysbus_init_mmio(dev, DMA_SIZE, dma_io_memory);
245 245

  
246
    vmstate_register(-1, &vmstate_dma, s);
247
    qemu_register_reset(dma_reset, s);
248

  
249 246
    qdev_init_gpio_in(&dev->qdev, dma_set_irq, 1);
250 247
    qdev_init_gpio_out(&dev->qdev, &s->dev_reset, 1);
248
    dma_reset(&s->busdev.qdev);
249

  
251 250
    return 0;
252 251
}
253 252

  
......
255 254
    .init = sparc32_dma_init1,
256 255
    .qdev.name  = "sparc32_dma",
257 256
    .qdev.size  = sizeof(DMAState),
257
    .qdev.vmsd  = &vmstate_dma,
258
    .qdev.reset = dma_reset,
258 259
    .qdev.props = (Property[]) {
259 260
        DEFINE_PROP_PTR("iommu_opaque", DMAState, iommu),
260 261
        DEFINE_PROP_END_OF_LIST(),

Also available in: Unified diff