summary refs log tree commit diff stats
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)