This was done in a mostly automated fashion. I did it in three steps and then rebased it into a single step which avoids repeatedly touching every file in the tree. The first step was a sed-based addition of the parent type to the subclass registration functions. The second step was another sed-based removal of subclass registration functions while also adding virtual functions from the base class into a class_init function as appropriate. Finally, a python script was used to convert the DeviceInfo structures and qdev_register_subclass functions to TypeInfo structures, class_init functions, and type_register_static calls. We are almost fully converted to QOM after this commit. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
30 lines
621 B
C
30 lines
621 B
C
#include "sysbus.h"
|
|
|
|
static int container_initfn(SysBusDevice *dev)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static void container_class_init(ObjectClass *klass, void *data)
|
|
{
|
|
DeviceClass *dc = DEVICE_CLASS(klass);
|
|
SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
|
|
|
|
k->init = container_initfn;
|
|
dc->no_user = 1;
|
|
}
|
|
|
|
static TypeInfo container_info = {
|
|
.name = "container",
|
|
.parent = TYPE_SYS_BUS_DEVICE,
|
|
.instance_size = sizeof(SysBusDevice),
|
|
.class_init = container_class_init,
|
|
};
|
|
|
|
static void container_init(void)
|
|
{
|
|
type_register_static(&container_info);
|
|
}
|
|
|
|
device_init(container_init);
|