Revision ee6847d1 hw/eccmemctl.c

b/hw/eccmemctl.c
321 321
    ECCState *s = FROM_SYSBUS(ECCState, dev);
322 322

  
323 323
    sysbus_init_irq(dev, &s->irq);
324
    s->version = qdev_get_prop_int(&dev->qdev, "version", -1);
325 324
    s->regs[0] = s->version;
326 325
    ecc_io_memory = cpu_register_io_memory(ecc_mem_read, ecc_mem_write, s);
327 326
    sysbus_init_mmio(dev, ECC_SIZE, ecc_io_memory);
......
342 341
    SysBusDevice *s;
343 342

  
344 343
    dev = qdev_create(NULL, "eccmemctl");
345
    qdev_set_prop_int(dev, "version", version);
344
    qdev_prop_set_uint32(dev, "version", version);
346 345
    qdev_init(dev);
347 346
    s = sysbus_from_qdev(dev);
348 347
    sysbus_connect_irq(s, 0, irq);
......
352 351
    }
353 352
}
354 353

  
354
static SysBusDeviceInfo ecc_info = {
355
    .init = ecc_init1,
356
    .qdev.name  = "eccmemctl",
357
    .qdev.size  = sizeof(ECCState),
358
    .qdev.props = (Property[]) {
359
        {
360
            .name   = "version",
361
            .info   = &qdev_prop_uint32,
362
            .offset = offsetof(ECCState, version),
363
            .defval = (uint32_t[]) { -1 },
364
        },
365
        {/* end of list */}
366
    }
367
};
368

  
369

  
355 370
static void ecc_register_devices(void)
356 371
{
357
    sysbus_register_dev("eccmemctl", sizeof(ECCState), ecc_init1);
372
    sysbus_register_withprop(&ecc_info);
358 373
}
359 374

  
360 375
device_init(ecc_register_devices)

Also available in: Unified diff