diff options
Diffstat (limited to 'hw/pl011.c')
-rw-r--r-- | hw/pl011.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/hw/pl011.c b/hw/pl011.c index 088aa44a3b..752cbf9725 100644 --- a/hw/pl011.c +++ b/hw/pl011.c @@ -264,7 +264,7 @@ static int pl011_init(SysBusDevice *dev, const unsigned char *id) sysbus_init_mmio(dev, &s->iomem); sysbus_init_irq(dev, &s->irq); s->id = id; - s->chr = qdev_init_chardev(&dev->qdev); + s->chr = qemu_char_get_next_serial(); s->read_trigger = 1; s->ifl = 0x12; @@ -295,10 +295,11 @@ static void pl011_arm_class_init(ObjectClass *klass, void *data) sdc->init = pl011_arm_init; } -static DeviceInfo pl011_arm_info = { - .name = "pl011", - .size = sizeof(pl011_state), - .class_init = pl011_arm_class_init, +static TypeInfo pl011_arm_info = { + .name = "pl011", + .parent = TYPE_SYS_BUS_DEVICE, + .instance_size = sizeof(pl011_state), + .class_init = pl011_arm_class_init, }; static void pl011_luminary_class_init(ObjectClass *klass, void *data) @@ -308,16 +309,17 @@ static void pl011_luminary_class_init(ObjectClass *klass, void *data) sdc->init = pl011_luminary_init; } -static DeviceInfo pl011_luminary_info = { - .name = "pl011_luminary", - .size = sizeof(pl011_state), - .class_init = pl011_luminary_class_init, +static TypeInfo pl011_luminary_info = { + .name = "pl011_luminary", + .parent = TYPE_SYS_BUS_DEVICE, + .instance_size = sizeof(pl011_state), + .class_init = pl011_luminary_class_init, }; static void pl011_register_devices(void) { - sysbus_qdev_register(&pl011_arm_info); - sysbus_qdev_register(&pl011_luminary_info); + type_register_static(&pl011_arm_info); + type_register_static(&pl011_luminary_info); } device_init(pl011_register_devices) |