summaryrefslogtreecommitdiffstats
path: root/hw/pl011.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/pl011.c')
-rw-r--r--hw/pl011.c24
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)