|
@@ -379,14 +379,14 @@ static void loongarch_pch_pic_reset(DeviceState *d)
|
|
|
s->int_polarity = 0x0;
|
|
|
}
|
|
|
|
|
|
-#include "loongarch_pic_common.c"
|
|
|
-static void loongarch_pch_pic_realize(DeviceState *dev, Error **errp)
|
|
|
+static void loongarch_pic_realize(DeviceState *dev, Error **errp)
|
|
|
{
|
|
|
- LoongArchPCHPIC *s = LOONGARCH_PCH_PIC(dev);
|
|
|
- SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
|
|
|
+ LoongArchPICCommonState *s = LOONGARCH_PIC_COMMON(dev);
|
|
|
+ LoongarchPICClass *lpc = LOONGARCH_PIC_GET_CLASS(dev);
|
|
|
+ SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
|
|
|
Error *local_err = NULL;
|
|
|
|
|
|
- loongarch_pic_common_realize(dev, &local_err);
|
|
|
+ lpc->parent_realize(dev, &local_err);
|
|
|
if (local_err) {
|
|
|
error_propagate(errp, local_err);
|
|
|
return;
|
|
@@ -408,26 +408,24 @@ static void loongarch_pch_pic_realize(DeviceState *dev, Error **errp)
|
|
|
|
|
|
}
|
|
|
|
|
|
-static void loongarch_pch_pic_class_init(ObjectClass *klass, void *data)
|
|
|
+static void loongarch_pic_class_init(ObjectClass *klass, void *data)
|
|
|
{
|
|
|
DeviceClass *dc = DEVICE_CLASS(klass);
|
|
|
+ LoongarchPICClass *lpc = LOONGARCH_PIC_CLASS(klass);
|
|
|
|
|
|
- dc->realize = loongarch_pch_pic_realize;
|
|
|
device_class_set_legacy_reset(dc, loongarch_pch_pic_reset);
|
|
|
- dc->vmsd = &vmstate_loongarch_pic_common;
|
|
|
- device_class_set_props(dc, loongarch_pic_common_properties);
|
|
|
+ device_class_set_parent_realize(dc, loongarch_pic_realize,
|
|
|
+ &lpc->parent_realize);
|
|
|
}
|
|
|
|
|
|
-static const TypeInfo loongarch_pch_pic_info = {
|
|
|
- .name = TYPE_LOONGARCH_PCH_PIC,
|
|
|
- .parent = TYPE_SYS_BUS_DEVICE,
|
|
|
- .instance_size = sizeof(LoongArchPCHPIC),
|
|
|
- .class_init = loongarch_pch_pic_class_init,
|
|
|
+static const TypeInfo loongarch_pic_types[] = {
|
|
|
+ {
|
|
|
+ .name = TYPE_LOONGARCH_PIC,
|
|
|
+ .parent = TYPE_LOONGARCH_PIC_COMMON,
|
|
|
+ .instance_size = sizeof(LoongarchPICState),
|
|
|
+ .class_size = sizeof(LoongarchPICClass),
|
|
|
+ .class_init = loongarch_pic_class_init,
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
-static void loongarch_pch_pic_register_types(void)
|
|
|
-{
|
|
|
- type_register_static(&loongarch_pch_pic_info);
|
|
|
-}
|
|
|
-
|
|
|
-type_init(loongarch_pch_pic_register_types)
|
|
|
+DEFINE_TYPES(loongarch_pic_types)
|