qdev: Push "type" property up to Object
Now that Object is a type, add an instance_init function and push the "type" property from qdev to there. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
parent
edc92115a9
commit
2f262e06f0
@ -515,11 +515,6 @@ char* qdev_get_fw_dev_path(DeviceState *dev)
|
|||||||
return strdup(path);
|
return strdup(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
static char *qdev_get_type(Object *obj, Error **errp)
|
|
||||||
{
|
|
||||||
return g_strdup(object_get_typename(obj));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Legacy property handling
|
* Legacy property handling
|
||||||
*/
|
*/
|
||||||
@ -638,7 +633,6 @@ static void device_initfn(Object *obj)
|
|||||||
qdev_property_add_static(dev, prop, NULL);
|
qdev_property_add_static(dev, prop, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
object_property_add_str(OBJECT(dev), "type", qdev_get_type, NULL, NULL);
|
|
||||||
qdev_prop_set_defaults(dev, qdev_get_props(dev));
|
qdev_prop_set_defaults(dev, qdev_get_props(dev));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
11
qom/object.c
11
qom/object.c
@ -1231,6 +1231,16 @@ void object_property_add_str(Object *obj, const char *name,
|
|||||||
prop, errp);
|
prop, errp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static char *qdev_get_type(Object *obj, Error **errp)
|
||||||
|
{
|
||||||
|
return g_strdup(object_get_typename(obj));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void object_instance_init(Object *obj)
|
||||||
|
{
|
||||||
|
object_property_add_str(obj, "type", qdev_get_type, NULL, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
static void register_types(void)
|
static void register_types(void)
|
||||||
{
|
{
|
||||||
static TypeInfo interface_info = {
|
static TypeInfo interface_info = {
|
||||||
@ -1242,6 +1252,7 @@ static void register_types(void)
|
|||||||
static TypeInfo object_info = {
|
static TypeInfo object_info = {
|
||||||
.name = TYPE_OBJECT,
|
.name = TYPE_OBJECT,
|
||||||
.instance_size = sizeof(Object),
|
.instance_size = sizeof(Object),
|
||||||
|
.instance_init = object_instance_init,
|
||||||
.abstract = true,
|
.abstract = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user