@@ -457,7 +457,7 @@ static const GraphicHwOps pl110_gfx_ops = {
.gfx_update = pl110_update_display,
};
-static int pl110_init(SysBusDevice *sbd)
+static int pl110_initfn(SysBusDevice *sbd)
{
DeviceState *dev = DEVICE(sbd);
PL110State *s = PL110(dev);
@@ -470,6 +470,13 @@ static int pl110_init(SysBusDevice *sbd)
return 0;
}
+static void pl110_init(Object *obj)
+{
+ PL110State *s = PL110(obj);
+
+ s->version = PL110;
+}
+
static void pl110_versatile_init(Object *obj)
{
PL110State *s = PL110(obj);
@@ -489,7 +496,7 @@ static void pl110_class_init(ObjectClass *klass, void *data)
DeviceClass *dc = DEVICE_CLASS(klass);
SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
- k->init = pl110_init;
+ k->init = pl110_initfn;
dc->no_user = 1;
dc->vmsd = &vmstate_pl110;
}
@@ -498,6 +505,7 @@ static const TypeInfo pl110_info = {
.name = TYPE_PL110,
.parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(PL110State),
+ .instance_init = pl110_init,
.class_init = pl110_class_init,
};