mirror of
https://github.com/qemu/qemu.git
synced 2024-11-27 13:53:45 +08:00
qom: remove unimplemented class_finalize
Instead of trying to implement something that isn't well specified, remove it. (it would be tricky to implement, since a class struct is memcpy on children types...) Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> Message-Id: <20181204142023.15982-7-marcandre.lureau@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
parent
e6add65b9c
commit
37fdb2c56c
@ -834,16 +834,6 @@ void machine_run_board_init(MachineState *machine)
|
||||
machine_class->init(machine);
|
||||
}
|
||||
|
||||
static void machine_class_finalize(ObjectClass *klass, void *data)
|
||||
{
|
||||
MachineClass *mc = MACHINE_CLASS(klass);
|
||||
|
||||
if (mc->compat_props) {
|
||||
g_array_free(mc->compat_props, true);
|
||||
}
|
||||
g_free(mc->name);
|
||||
}
|
||||
|
||||
void machine_register_compat_props(MachineState *machine)
|
||||
{
|
||||
MachineClass *mc = MACHINE_GET_CLASS(machine);
|
||||
@ -869,7 +859,6 @@ static const TypeInfo machine_info = {
|
||||
.class_size = sizeof(MachineClass),
|
||||
.class_init = machine_class_init,
|
||||
.class_base_init = machine_class_base_init,
|
||||
.class_finalize = machine_class_finalize,
|
||||
.instance_size = sizeof(MachineState),
|
||||
.instance_init = machine_initfn,
|
||||
.instance_finalize = machine_finalize,
|
||||
|
@ -454,10 +454,8 @@ struct Object
|
||||
* parent class initialization has occurred, but before the class itself
|
||||
* is initialized. This is the function to use to undo the effects of
|
||||
* memcpy from the parent class to the descendants.
|
||||
* @class_finalize: This function is called during class destruction and is
|
||||
* meant to release and dynamic parameters allocated by @class_init.
|
||||
* @class_data: Data to pass to the @class_init, @class_base_init and
|
||||
* @class_finalize functions. This can be useful when building dynamic
|
||||
* @class_data: Data to pass to the @class_init,
|
||||
* @class_base_init. This can be useful when building dynamic
|
||||
* classes.
|
||||
* @interfaces: The list of interfaces associated with this type. This
|
||||
* should point to a static array that's terminated with a zero filled
|
||||
@ -478,7 +476,6 @@ struct TypeInfo
|
||||
|
||||
void (*class_init)(ObjectClass *klass, void *data);
|
||||
void (*class_base_init)(ObjectClass *klass, void *data);
|
||||
void (*class_finalize)(ObjectClass *klass, void *data);
|
||||
void *class_data;
|
||||
|
||||
InterfaceInfo *interfaces;
|
||||
|
@ -49,7 +49,6 @@ struct TypeImpl
|
||||
|
||||
void (*class_init)(ObjectClass *klass, void *data);
|
||||
void (*class_base_init)(ObjectClass *klass, void *data);
|
||||
void (*class_finalize)(ObjectClass *klass, void *data);
|
||||
|
||||
void *class_data;
|
||||
|
||||
@ -114,7 +113,6 @@ static TypeImpl *type_new(const TypeInfo *info)
|
||||
|
||||
ti->class_init = info->class_init;
|
||||
ti->class_base_init = info->class_base_init;
|
||||
ti->class_finalize = info->class_finalize;
|
||||
ti->class_data = info->class_data;
|
||||
|
||||
ti->instance_init = info->instance_init;
|
||||
|
Loading…
Reference in New Issue
Block a user